! function (e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.V6player = t() : e.V6player = t()
}(window, (function () {
    return function (e) {
        var t = {};

        function n(i) {
            if (t[i]) return t[i].exports;
            var r = t[i] = {
                i: i,
                l: !1,
                exports: {}
            };
            return e[i].call(r.exports, r, r.exports, n), r.l = !0, r.exports
        }
        return n.m = e, n.c = t, n.d = function (e, t, i) {
            n.o(e, t) || Object.defineProperty(e, t, {
                enumerable: !0,
                get: i
            })
        }, n.r = function (e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }), Object.defineProperty(e, "__esModule", {
                value: !0
            })
        }, n.t = function (e, t) {
            if (1 & t && (e = n(e)), 8 & t) return e;
            if (4 & t && "object" == typeof e && e && e.__esModule) return e;
            var i = Object.create(null);
            if (n.r(i), Object.defineProperty(i, "default", {
                    enumerable: !0,
                    value: e
                }), 2 & t && "string" != typeof e)
                for (var r in e) n.d(i, r, function (t) {
                    return e[t]
                }.bind(null, r));
            return i
        }, n.n = function (e) {
            var t = e && e.__esModule ? function () {
                return e.default
            } : function () {
                return e
            };
            return n.d(t, "a", t), t
        }, n.o = function (e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }, n.p = "", n(n.s = 127)
    }([function (e, t, n) {
        var i = n(1),
            r = n(7),
            o = n(15),
            a = n(12),
            s = n(18),
            u = function (e, t, n) {
                var c, l, h, f, d = e & u.F,
                    p = e & u.G,
                    _ = e & u.S,
                    v = e & u.P,
                    m = e & u.B,
                    g = p ? i : _ ? i[t] || (i[t] = {}) : (i[t] || {}).prototype,
                    y = p ? r : r[t] || (r[t] = {}),
                    b = y.prototype || (y.prototype = {});
                for (c in p && (n = t), n) h = ((l = !d && g && void 0 !== g[c]) ? g : n)[c], f = m && l ? s(h, i) : v && "function" == typeof h ? s(Function.call, h) : h, g && a(g, c, h, e & u.U), y[c] != h && o(y, c, f), v && b[c] != h && (b[c] = h)
            };
        i.core = r, u.F = 1, u.G = 2, u.S = 4, u.P = 8, u.B = 16, u.W = 32, u.U = 64, u.R = 128, e.exports = u
    }, function (e, t) {
        var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
        "number" == typeof __g && (__g = n)
    }, function (e, t) {
        e.exports = function (e) {
            try {
                return !!e()
            } catch (e) {
                return !0
            }
        }
    }, function (e, t, n) {
        var i = n(4);
        e.exports = function (e) {
            if (!i(e)) throw TypeError(e + " is not an object!");
            return e
        }
    }, function (e, t) {
        e.exports = function (e) {
            return "object" == typeof e ? null !== e : "function" == typeof e
        }
    }, function (e, t, n) {
        var i = n(49)("wks"),
            r = n(30),
            o = n(1).Symbol,
            a = "function" == typeof o;
        (e.exports = function (e) {
            return i[e] || (i[e] = a && o[e] || (a ? o : r)("Symbol." + e))
        }).store = i
    }, function (e, t, n) {
        var i = n(20),
            r = Math.min;
        e.exports = function (e) {
            return e > 0 ? r(i(e), 9007199254740991) : 0
        }
    }, function (e, t) {
        var n = e.exports = {
            version: "2.6.12"
        };
        "number" == typeof __e && (__e = n)
    }, function (e, t, n) {
        e.exports = !n(2)((function () {
            return 7 != Object.defineProperty({}, "a", {
                get: function () {
                    return 7
                }
            }).a
        }))
    }, function (e, t, n) {
        var i = n(3),
            r = n(90),
            o = n(27),
            a = Object.defineProperty;
        t.f = n(8) ? Object.defineProperty : function (e, t, n) {
            if (i(e), t = o(t, !0), i(n), r) try {
                return a(e, t, n)
            } catch (e) {}
            if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");
            return "value" in n && (e[t] = n.value), e
        }
    }, function (e, t, n) {
        "use strict";
        var i, r = "object" == typeof Reflect ? Reflect : null,
            o = r && "function" == typeof r.apply ? r.apply : function (e, t, n) {
                return Function.prototype.apply.call(e, t, n)
            };
        i = r && "function" == typeof r.ownKeys ? r.ownKeys : Object.getOwnPropertySymbols ? function (e) {
            return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))
        } : function (e) {
            return Object.getOwnPropertyNames(e)
        };
        var a = Number.isNaN || function (e) {
            return e != e
        };

        function s() {
            s.init.call(this)
        }
        e.exports = s, e.exports.once = function (e, t) {
            return new Promise((function (n, i) {
                function r(n) {
                    e.removeListener(t, o), i(n)
                }

                function o() {
                    "function" == typeof e.removeListener && e.removeListener("error", r), n([].slice.call(arguments))
                }
                m(e, t, o, {
                    once: !0
                }), "error" !== t && function (e, t, n) {
                    "function" == typeof e.on && m(e, "error", t, n)
                }(e, r, {
                    once: !0
                })
            }))
        }, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;
        var u = 10;

        function c(e) {
            if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e)
        }

        function l(e) {
            return void 0 === e._maxListeners ? s.defaultMaxListeners : e._maxListeners
        }

        function h(e, t, n, i) {
            var r, o, a, s;
            if (c(n), void 0 === (o = e._events) ? (o = e._events = Object.create(null), e._eventsCount = 0) : (void 0 !== o.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), o = e._events), a = o[t]), void 0 === a) a = o[t] = n, ++e._eventsCount;
            else if ("function" == typeof a ? a = o[t] = i ? [n, a] : [a, n] : i ? a.unshift(n) : a.push(n), (r = l(e)) > 0 && a.length > r && !a.warned) {
                a.warned = !0;
                var u = new Error("Possible EventEmitter memory leak detected. " + a.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");
                u.name = "MaxListenersExceededWarning", u.emitter = e, u.type = t, u.count = a.length, s = u, console && console.warn && console.warn(s)
            }
            return e
        }

        function f() {
            if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments)
        }

        function d(e, t, n) {
            var i = {
                    fired: !1,
                    wrapFn: void 0,
                    target: e,
                    type: t,
                    listener: n
                },
                r = f.bind(i);
            return r.listener = n, i.wrapFn = r, r
        }

        function p(e, t, n) {
            var i = e._events;
            if (void 0 === i) return [];
            var r = i[t];
            return void 0 === r ? [] : "function" == typeof r ? n ? [r.listener || r] : [r] : n ? function (e) {
                for (var t = new Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];
                return t
            }(r) : v(r, r.length)
        }

        function _(e) {
            var t = this._events;
            if (void 0 !== t) {
                var n = t[e];
                if ("function" == typeof n) return 1;
                if (void 0 !== n) return n.length
            }
            return 0
        }

        function v(e, t) {
            for (var n = new Array(t), i = 0; i < t; ++i) n[i] = e[i];
            return n
        }

        function m(e, t, n, i) {
            if ("function" == typeof e.on) i.once ? e.once(t, n) : e.on(t, n);
            else {
                if ("function" != typeof e.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof e);
                e.addEventListener(t, (function r(o) {
                    i.once && e.removeEventListener(t, r), n(o)
                }))
            }
        }
        Object.defineProperty(s, "defaultMaxListeners", {
            enumerable: !0,
            get: function () {
                return u
            },
            set: function (e) {
                if ("number" != typeof e || e < 0 || a(e)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e + ".");
                u = e
            }
        }), s.init = function () {
            void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0
        }, s.prototype.setMaxListeners = function (e) {
            if ("number" != typeof e || e < 0 || a(e)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + ".");
            return this._maxListeners = e, this
        }, s.prototype.getMaxListeners = function () {
            return l(this)
        }, s.prototype.emit = function (e) {
            for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);
            var i = "error" === e,
                r = this._events;
            if (void 0 !== r) i = i && void 0 === r.error;
            else if (!i) return !1;
            if (i) {
                var a;
                if (t.length > 0 && (a = t[0]), a instanceof Error) throw a;
                var s = new Error("Unhandled error." + (a ? " (" + a.message + ")" : ""));
                throw s.context = a, s
            }
            var u = r[e];
            if (void 0 === u) return !1;
            if ("function" == typeof u) o(u, this, t);
            else {
                var c = u.length,
                    l = v(u, c);
                for (n = 0; n < c; ++n) o(l[n], this, t)
            }
            return !0
        }, s.prototype.addListener = function (e, t) {
            return h(this, e, t, !1)
        }, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function (e, t) {
            return h(this, e, t, !0)
        }, s.prototype.once = function (e, t) {
            return c(t), this.on(e, d(this, e, t)), this
        }, s.prototype.prependOnceListener = function (e, t) {
            return c(t), this.prependListener(e, d(this, e, t)), this
        }, s.prototype.removeListener = function (e, t) {
            var n, i, r, o, a;
            if (c(t), void 0 === (i = this._events)) return this;
            if (void 0 === (n = i[e])) return this;
            if (n === t || n.listener === t) 0 == --this._eventsCount ? this._events = Object.create(null) : (delete i[e], i.removeListener && this.emit("removeListener", e, n.listener || t));
            else if ("function" != typeof n) {
                for (r = -1, o = n.length - 1; o >= 0; o--)
                    if (n[o] === t || n[o].listener === t) {
                        a = n[o].listener, r = o;
                        break
                    } if (r < 0) return this;
                0 === r ? n.shift() : function (e, t) {
                    for (; t + 1 < e.length; t++) e[t] = e[t + 1];
                    e.pop()
                }(n, r), 1 === n.length && (i[e] = n[0]), void 0 !== i.removeListener && this.emit("removeListener", e, a || t)
            }
            return this
        }, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function (e) {
            var t, n, i;
            if (void 0 === (n = this._events)) return this;
            if (void 0 === n.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== n[e] && (0 == --this._eventsCount ? this._events = Object.create(null) : delete n[e]), this;
            if (0 === arguments.length) {
                var r, o = Object.keys(n);
                for (i = 0; i < o.length; ++i) "removeListener" !== (r = o[i]) && this.removeAllListeners(r);
                return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this
            }
            if ("function" == typeof (t = n[e])) this.removeListener(e, t);
            else if (void 0 !== t)
                for (i = t.length - 1; i >= 0; i--) this.removeListener(e, t[i]);
            return this
        }, s.prototype.listeners = function (e) {
            return p(this, e, !0)
        }, s.prototype.rawListeners = function (e) {
            return p(this, e, !1)
        }, s.listenerCount = function (e, t) {
            return "function" == typeof e.listenerCount ? e.listenerCount(t) : _.call(e, t)
        }, s.prototype.listenerCount = _, s.prototype.eventNames = function () {
            return this._eventsCount > 0 ? i(this._events) : []
        }
    }, function (e, t, n) {
        var i = n(25);
        e.exports = function (e) {
            return Object(i(e))
        }
    }, function (e, t, n) {
        var i = n(1),
            r = n(15),
            o = n(14),
            a = n(30)("src"),
            s = n(135),
            u = ("" + s).split("toString");
        n(7).inspectSource = function (e) {
            return s.call(e)
        }, (e.exports = function (e, t, n, s) {
            var c = "function" == typeof n;
            c && (o(n, "name") || r(n, "name", t)), e[t] !== n && (c && (o(n, a) || r(n, a, e[t] ? "" + e[t] : u.join(String(t)))), e === i ? e[t] = n : s ? e[t] ? e[t] = n : r(e, t, n) : (delete e[t], r(e, t, n)))
        })(Function.prototype, "toString", (function () {
            return "function" == typeof this && this[a] || s.call(this)
        }))
    }, function (e, t, n) {
        var i = n(0),
            r = n(2),
            o = n(25),
            a = /"/g,
            s = function (e, t, n, i) {
                var r = String(o(e)),
                    s = "<" + t;
                return "" !== n && (s += " " + n + '="' + String(i).replace(a, "&quot;") + '"'), s + ">" + r + "</" + t + ">"
            };
        e.exports = function (e, t) {
            var n = {};
            n[e] = t(s), i(i.P + i.F * r((function () {
                var t = "" [e]('"');
                return t !== t.toLowerCase() || t.split('"').length > 3
            })), "String", n)
        }
    }, function (e, t) {
        var n = {}.hasOwnProperty;
        e.exports = function (e, t) {
            return n.call(e, t)
        }
    }, function (e, t, n) {
        var i = n(9),
            r = n(29);
        e.exports = n(8) ? function (e, t, n) {
            return i.f(e, t, r(1, n))
        } : function (e, t, n) {
            return e[t] = n, e
        }
    }, function (e, t, n) {
        var i = n(45),
            r = n(25);
        e.exports = function (e) {
            return i(r(e))
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(2);
        e.exports = function (e, t) {
            return !!e && i((function () {
                t ? e.call(null, (function () {}), 1) : e.call(null)
            }))
        }
    }, function (e, t, n) {
        var i = n(19);
        e.exports = function (e, t, n) {
            if (i(e), void 0 === t) return e;
            switch (n) {
                case 1:
                    return function (n) {
                        return e.call(t, n)
                    };
                case 2:
                    return function (n, i) {
                        return e.call(t, n, i)
                    };
                case 3:
                    return function (n, i, r) {
                        return e.call(t, n, i, r)
                    }
            }
            return function () {
                return e.apply(t, arguments)
            }
        }
    }, function (e, t) {
        e.exports = function (e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function!");
            return e
        }
    }, function (e, t) {
        var n = Math.ceil,
            i = Math.floor;
        e.exports = function (e) {
            return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
        }
    }, function (e, t, n) {
        var i = n(46),
            r = n(29),
            o = n(16),
            a = n(27),
            s = n(14),
            u = n(90),
            c = Object.getOwnPropertyDescriptor;
        t.f = n(8) ? c : function (e, t) {
            if (e = o(e), t = a(t, !0), u) try {
                return c(e, t)
            } catch (e) {}
            if (s(e, t)) return r(!i.f.call(e, t), e[t])
        }
    }, function (e, t, n) {
        var i = n(0),
            r = n(7),
            o = n(2);
        e.exports = function (e, t) {
            var n = (r.Object || {})[e] || Object[e],
                a = {};
            a[e] = t(n), i(i.S + i.F * o((function () {
                n(1)
            })), "Object", a)
        }
    }, function (e, t, n) {
        var i = n(18),
            r = n(45),
            o = n(11),
            a = n(6),
            s = n(106);
        e.exports = function (e, t) {
            var n = 1 == e,
                u = 2 == e,
                c = 3 == e,
                l = 4 == e,
                h = 6 == e,
                f = 5 == e || h,
                d = t || s;
            return function (t, s, p) {
                for (var _, v, m = o(t), g = r(m), y = i(s, p, 3), b = a(g.length), E = 0, w = n ? d(t, b) : u ? d(t, 0) : void 0; b > E; E++)
                    if ((f || E in g) && (v = y(_ = g[E], E, m), e))
                        if (n) w[E] = v;
                        else if (v) switch (e) {
                    case 3:
                        return !0;
                    case 5:
                        return _;
                    case 6:
                        return E;
                    case 2:
                        w.push(_)
                } else if (l) return !1;
                return h ? -1 : c || l ? l : w
            }
        }
    }, function (e, t) {
        var n = {}.toString;
        e.exports = function (e) {
            return n.call(e).slice(8, -1)
        }
    }, function (e, t) {
        e.exports = function (e) {
            if (null == e) throw TypeError("Can't call method on  " + e);
            return e
        }
    }, function (e, t, n) {
        "use strict";
        if (n(8)) {
            var i = n(31),
                r = n(1),
                o = n(2),
                a = n(0),
                s = n(60),
                u = n(85),
                c = n(18),
                l = n(43),
                h = n(29),
                f = n(15),
                d = n(44),
                p = n(20),
                _ = n(6),
                v = n(117),
                m = n(33),
                g = n(27),
                y = n(14),
                b = n(47),
                E = n(4),
                w = n(11),
                S = n(77),
                x = n(34),
                L = n(36),
                k = n(35).f,
                M = n(79),
                I = n(30),
                A = n(5),
                T = n(23),
                D = n(50),
                R = n(48),
                O = n(81),
                C = n(41),
                N = n(53),
                j = n(42),
                P = n(80),
                B = n(108),
                U = n(9),
                F = n(21),
                z = U.f,
                V = F.f,
                G = r.RangeError,
                H = r.TypeError,
                W = r.Uint8Array,
                Y = Array.prototype,
                Z = u.ArrayBuffer,
                Q = u.DataView,
                K = T(0),
                J = T(2),
                X = T(3),
                q = T(4),
                $ = T(5),
                ee = T(6),
                te = D(!0),
                ne = D(!1),
                ie = O.values,
                re = O.keys,
                oe = O.entries,
                ae = Y.lastIndexOf,
                se = Y.reduce,
                ue = Y.reduceRight,
                ce = Y.join,
                le = Y.sort,
                he = Y.slice,
                fe = Y.toString,
                de = Y.toLocaleString,
                pe = A("iterator"),
                _e = A("toStringTag"),
                ve = I("typed_constructor"),
                me = I("def_constructor"),
                ge = s.CONSTR,
                ye = s.TYPED,
                be = s.VIEW,
                Ee = T(1, (function (e, t) {
                    return ke(R(e, e[me]), t)
                })),
                we = o((function () {
                    return 1 === new W(new Uint16Array([1]).buffer)[0]
                })),
                Se = !!W && !!W.prototype.set && o((function () {
                    new W(1).set({})
                })),
                xe = function (e, t) {
                    var n = p(e);
                    if (n < 0 || n % t) throw G("Wrong offset!");
                    return n
                },
                Le = function (e) {
                    if (E(e) && ye in e) return e;
                    throw H(e + " is not a typed array!")
                },
                ke = function (e, t) {
                    if (!E(e) || !(ve in e)) throw H("It is not a typed array constructor!");
                    return new e(t)
                },
                Me = function (e, t) {
                    return Ie(R(e, e[me]), t)
                },
                Ie = function (e, t) {
                    for (var n = 0, i = t.length, r = ke(e, i); i > n;) r[n] = t[n++];
                    return r
                },
                Ae = function (e, t, n) {
                    z(e, t, {
                        get: function () {
                            return this._d[n]
                        }
                    })
                },
                Te = function (e) {
                    var t, n, i, r, o, a, s = w(e),
                        u = arguments.length,
                        l = u > 1 ? arguments[1] : void 0,
                        h = void 0 !== l,
                        f = M(s);
                    if (null != f && !S(f)) {
                        for (a = f.call(s), i = [], t = 0; !(o = a.next()).done; t++) i.push(o.value);
                        s = i
                    }
                    for (h && u > 2 && (l = c(l, arguments[2], 2)), t = 0, n = _(s.length), r = ke(this, n); n > t; t++) r[t] = h ? l(s[t], t) : s[t];
                    return r
                },
                De = function () {
                    for (var e = 0, t = arguments.length, n = ke(this, t); t > e;) n[e] = arguments[e++];
                    return n
                },
                Re = !!W && o((function () {
                    de.call(new W(1))
                })),
                Oe = function () {
                    return de.apply(Re ? he.call(Le(this)) : Le(this), arguments)
                },
                Ce = {
                    copyWithin: function (e, t) {
                        return B.call(Le(this), e, t, arguments.length > 2 ? arguments[2] : void 0)
                    },
                    every: function (e) {
                        return q(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    fill: function (e) {
                        return P.apply(Le(this), arguments)
                    },
                    filter: function (e) {
                        return Me(this, J(Le(this), e, arguments.length > 1 ? arguments[1] : void 0))
                    },
                    find: function (e) {
                        return $(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    findIndex: function (e) {
                        return ee(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    forEach: function (e) {
                        K(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    indexOf: function (e) {
                        return ne(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    includes: function (e) {
                        return te(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    join: function (e) {
                        return ce.apply(Le(this), arguments)
                    },
                    lastIndexOf: function (e) {
                        return ae.apply(Le(this), arguments)
                    },
                    map: function (e) {
                        return Ee(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    reduce: function (e) {
                        return se.apply(Le(this), arguments)
                    },
                    reduceRight: function (e) {
                        return ue.apply(Le(this), arguments)
                    },
                    reverse: function () {
                        for (var e, t = Le(this).length, n = Math.floor(t / 2), i = 0; i < n;) e = this[i], this[i++] = this[--t], this[t] = e;
                        return this
                    },
                    some: function (e) {
                        return X(Le(this), e, arguments.length > 1 ? arguments[1] : void 0)
                    },
                    sort: function (e) {
                        return le.call(Le(this), e)
                    },
                    subarray: function (e, t) {
                        var n = Le(this),
                            i = n.length,
                            r = m(e, i);
                        return new(R(n, n[me]))(n.buffer, n.byteOffset + r * n.BYTES_PER_ELEMENT, _((void 0 === t ? i : m(t, i)) - r))
                    }
                },
                Ne = function (e, t) {
                    return Me(this, he.call(Le(this), e, t))
                },
                je = function (e) {
                    Le(this);
                    var t = xe(arguments[1], 1),
                        n = this.length,
                        i = w(e),
                        r = _(i.length),
                        o = 0;
                    if (r + t > n) throw G("Wrong length!");
                    for (; o < r;) this[t + o] = i[o++]
                },
                Pe = {
                    entries: function () {
                        return oe.call(Le(this))
                    },
                    keys: function () {
                        return re.call(Le(this))
                    },
                    values: function () {
                        return ie.call(Le(this))
                    }
                },
                Be = function (e, t) {
                    return E(e) && e[ye] && "symbol" != typeof t && t in e && String(+t) == String(t)
                },
                Ue = function (e, t) {
                    return Be(e, t = g(t, !0)) ? h(2, e[t]) : V(e, t)
                },
                Fe = function (e, t, n) {
                    return !(Be(e, t = g(t, !0)) && E(n) && y(n, "value")) || y(n, "get") || y(n, "set") || n.configurable || y(n, "writable") && !n.writable || y(n, "enumerable") && !n.enumerable ? z(e, t, n) : (e[t] = n.value, e)
                };
            ge || (F.f = Ue, U.f = Fe), a(a.S + a.F * !ge, "Object", {
                getOwnPropertyDescriptor: Ue,
                defineProperty: Fe
            }), o((function () {
                fe.call({})
            })) && (fe = de = function () {
                return ce.call(this)
            });
            var ze = d({}, Ce);
            d(ze, Pe), f(ze, pe, Pe.values), d(ze, {
                slice: Ne,
                set: je,
                constructor: function () {},
                toString: fe,
                toLocaleString: Oe
            }), Ae(ze, "buffer", "b"), Ae(ze, "byteOffset", "o"), Ae(ze, "byteLength", "l"), Ae(ze, "length", "e"), z(ze, _e, {
                get: function () {
                    return this[ye]
                }
            }), e.exports = function (e, t, n, u) {
                var c = e + ((u = !!u) ? "Clamped" : "") + "Array",
                    h = "get" + e,
                    d = "set" + e,
                    p = r[c],
                    m = p || {},
                    g = p && L(p),
                    y = !p || !s.ABV,
                    w = {},
                    S = p && p.prototype,
                    M = function (e, n) {
                        z(e, n, {
                            get: function () {
                                return function (e, n) {
                                    var i = e._d;
                                    return i.v[h](n * t + i.o, we)
                                }(this, n)
                            },
                            set: function (e) {
                                return function (e, n, i) {
                                    var r = e._d;
                                    u && (i = (i = Math.round(i)) < 0 ? 0 : i > 255 ? 255 : 255 & i), r.v[d](n * t + r.o, i, we)
                                }(this, n, e)
                            },
                            enumerable: !0
                        })
                    };
                y ? (p = n((function (e, n, i, r) {
                    l(e, p, c, "_d");
                    var o, a, s, u, h = 0,
                        d = 0;
                    if (E(n)) {
                        if (!(n instanceof Z || "ArrayBuffer" == (u = b(n)) || "SharedArrayBuffer" == u)) return ye in n ? Ie(p, n) : Te.call(p, n);
                        o = n, d = xe(i, t);
                        var m = n.byteLength;
                        if (void 0 === r) {
                            if (m % t) throw G("Wrong length!");
                            if ((a = m - d) < 0) throw G("Wrong length!")
                        } else if ((a = _(r) * t) + d > m) throw G("Wrong length!");
                        s = a / t
                    } else s = v(n), o = new Z(a = s * t);
                    for (f(e, "_d", {
                            b: o,
                            o: d,
                            l: a,
                            e: s,
                            v: new Q(o)
                        }); h < s;) M(e, h++)
                })), S = p.prototype = x(ze), f(S, "constructor", p)) : o((function () {
                    p(1)
                })) && o((function () {
                    new p(-1)
                })) && N((function (e) {
                    new p, new p(null), new p(1.5), new p(e)
                }), !0) || (p = n((function (e, n, i, r) {
                    var o;
                    return l(e, p, c), E(n) ? n instanceof Z || "ArrayBuffer" == (o = b(n)) || "SharedArrayBuffer" == o ? void 0 !== r ? new m(n, xe(i, t), r) : void 0 !== i ? new m(n, xe(i, t)) : new m(n) : ye in n ? Ie(p, n) : Te.call(p, n) : new m(v(n))
                })), K(g !== Function.prototype ? k(m).concat(k(g)) : k(m), (function (e) {
                    e in p || f(p, e, m[e])
                })), p.prototype = S, i || (S.constructor = p));
                var I = S[pe],
                    A = !!I && ("values" == I.name || null == I.name),
                    T = Pe.values;
                f(p, ve, !0), f(S, ye, c), f(S, be, !0), f(S, me, p), (u ? new p(1)[_e] == c : _e in S) || z(S, _e, {
                    get: function () {
                        return c
                    }
                }), w[c] = p, a(a.G + a.W + a.F * (p != m), w), a(a.S, c, {
                    BYTES_PER_ELEMENT: t
                }), a(a.S + a.F * o((function () {
                    m.of.call(p, 1)
                })), c, {
                    from: Te,
                    of: De
                }), "BYTES_PER_ELEMENT" in S || f(S, "BYTES_PER_ELEMENT", t), a(a.P, c, Ce), j(c), a(a.P + a.F * Se, c, {
                    set: je
                }), a(a.P + a.F * !A, c, Pe), i || S.toString == fe || (S.toString = fe), a(a.P + a.F * o((function () {
                    new p(1).slice()
                })), c, {
                    slice: Ne
                }), a(a.P + a.F * (o((function () {
                    return [1, 2].toLocaleString() != new p([1, 2]).toLocaleString()
                })) || !o((function () {
                    S.toLocaleString.call([1, 2])
                }))), c, {
                    toLocaleString: Oe
                }), C[c] = A ? I : T, i || A || f(S, pe, T)
            }
        } else e.exports = function () {}
    }, function (e, t, n) {
        var i = n(4);
        e.exports = function (e, t) {
            if (!i(e)) return e;
            var n, r;
            if (t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r;
            if ("function" == typeof (n = e.valueOf) && !i(r = n.call(e))) return r;
            if (!t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r;
            throw TypeError("Can't convert object to primitive value")
        }
    }, function (e, t, n) {
        var i = n(30)("meta"),
            r = n(4),
            o = n(14),
            a = n(9).f,
            s = 0,
            u = Object.isExtensible || function () {
                return !0
            },
            c = !n(2)((function () {
                return u(Object.preventExtensions({}))
            })),
            l = function (e) {
                a(e, i, {
                    value: {
                        i: "O" + ++s,
                        w: {}
                    }
                })
            },
            h = e.exports = {
                KEY: i,
                NEED: !1,
                fastKey: function (e, t) {
                    if (!r(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
                    if (!o(e, i)) {
                        if (!u(e)) return "F";
                        if (!t) return "E";
                        l(e)
                    }
                    return e[i].i
                },
                getWeak: function (e, t) {
                    if (!o(e, i)) {
                        if (!u(e)) return !0;
                        if (!t) return !1;
                        l(e)
                    }
                    return e[i].w
                },
                onFreeze: function (e) {
                    return c && h.NEED && u(e) && !o(e, i) && l(e), e
                }
            }
    }, function (e, t) {
        e.exports = function (e, t) {
            return {
                enumerable: !(1 & e),
                configurable: !(2 & e),
                writable: !(4 & e),
                value: t
            }
        }
    }, function (e, t) {
        var n = 0,
            i = Math.random();
        e.exports = function (e) {
            return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + i).toString(36))
        }
    }, function (e, t) {
        e.exports = !1
    }, function (e, t, n) {
        var i = n(92),
            r = n(64);
        e.exports = Object.keys || function (e) {
            return i(e, r)
        }
    }, function (e, t, n) {
        var i = n(20),
            r = Math.max,
            o = Math.min;
        e.exports = function (e, t) {
            return (e = i(e)) < 0 ? r(e + t, 0) : o(e, t)
        }
    }, function (e, t, n) {
        var i = n(3),
            r = n(93),
            o = n(64),
            a = n(63)("IE_PROTO"),
            s = function () {},
            u = function () {
                var e, t = n(61)("iframe"),
                    i = o.length;
                for (t.style.display = "none", n(65).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), u = e.F; i--;) delete u.prototype[o[i]];
                return u()
            };
        e.exports = Object.create || function (e, t) {
            var n;
            return null !== e ? (s.prototype = i(e), n = new s, s.prototype = null, n[a] = e) : n = u(), void 0 === t ? n : r(n, t)
        }
    }, function (e, t, n) {
        var i = n(92),
            r = n(64).concat("length", "prototype");
        t.f = Object.getOwnPropertyNames || function (e) {
            return i(e, r)
        }
    }, function (e, t, n) {
        var i = n(14),
            r = n(11),
            o = n(63)("IE_PROTO"),
            a = Object.prototype;
        e.exports = Object.getPrototypeOf || function (e) {
            return e = r(e), i(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
        }
    }, function (e, t, n) {
        var i = n(5)("unscopables"),
            r = Array.prototype;
        null == r[i] && n(15)(r, i, {}), e.exports = function (e) {
            r[i][e] = !0
        }
    }, function (e, t, n) {
        var i = n(4);
        e.exports = function (e, t) {
            if (!i(e) || e._t !== t) throw TypeError("Incompatible receiver, " + t + " required!");
            return e
        }
    }, function (e, t, n) {
        var i = n(9).f,
            r = n(14),
            o = n(5)("toStringTag");
        e.exports = function (e, t, n) {
            e && !r(e = n ? e : e.prototype, o) && i(e, o, {
                configurable: !0,
                value: t
            })
        }
    }, function (e, t, n) {
        var i = n(0),
            r = n(25),
            o = n(2),
            a = n(67),
            s = "[" + a + "]",
            u = RegExp("^" + s + s + "*"),
            c = RegExp(s + s + "*$"),
            l = function (e, t, n) {
                var r = {},
                    s = o((function () {
                        return !!a[e]() || "​" != "​" [e]()
                    })),
                    u = r[e] = s ? t(h) : a[e];
                n && (r[n] = u), i(i.P + i.F * s, "String", r)
            },
            h = l.trim = function (e, t) {
                return e = String(r(e)), 1 & t && (e = e.replace(u, "")), 2 & t && (e = e.replace(c, "")), e
            };
        e.exports = l
    }, function (e, t) {
        e.exports = {}
    }, function (e, t, n) {
        "use strict";
        var i = n(1),
            r = n(9),
            o = n(8),
            a = n(5)("species");
        e.exports = function (e) {
            var t = i[e];
            o && t && !t[a] && r.f(t, a, {
                configurable: !0,
                get: function () {
                    return this
                }
            })
        }
    }, function (e, t) {
        e.exports = function (e, t, n, i) {
            if (!(e instanceof t) || void 0 !== i && i in e) throw TypeError(n + ": incorrect invocation!");
            return e
        }
    }, function (e, t, n) {
        var i = n(12);
        e.exports = function (e, t, n) {
            for (var r in t) i(e, r, t[r], n);
            return e
        }
    }, function (e, t, n) {
        var i = n(24);
        e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
            return "String" == i(e) ? e.split("") : Object(e)
        }
    }, function (e, t) {
        t.f = {}.propertyIsEnumerable
    }, function (e, t, n) {
        var i = n(24),
            r = n(5)("toStringTag"),
            o = "Arguments" == i(function () {
                return arguments
            }());
        e.exports = function (e) {
            var t, n, a;
            return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {
                try {
                    return e[t]
                } catch (e) {}
            }(t = Object(e), r)) ? n : o ? i(t) : "Object" == (a = i(t)) && "function" == typeof t.callee ? "Arguments" : a
        }
    }, function (e, t, n) {
        var i = n(3),
            r = n(19),
            o = n(5)("species");
        e.exports = function (e, t) {
            var n, a = i(e).constructor;
            return void 0 === a || null == (n = i(a)[o]) ? t : r(n)
        }
    }, function (e, t, n) {
        var i = n(7),
            r = n(1),
            o = r["__core-js_shared__"] || (r["__core-js_shared__"] = {});
        (e.exports = function (e, t) {
            return o[e] || (o[e] = void 0 !== t ? t : {})
        })("versions", []).push({
            version: i.version,
            mode: n(31) ? "pure" : "global",
            copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
        })
    }, function (e, t, n) {
        var i = n(16),
            r = n(6),
            o = n(33);
        e.exports = function (e) {
            return function (t, n, a) {
                var s, u = i(t),
                    c = r(u.length),
                    l = o(a, c);
                if (e && n != n) {
                    for (; c > l;)
                        if ((s = u[l++]) != s) return !0
                } else
                    for (; c > l; l++)
                        if ((e || l in u) && u[l] === n) return e || l || 0;
                return !e && -1
            }
        }
    }, function (e, t) {
        t.f = Object.getOwnPropertySymbols
    }, function (e, t, n) {
        var i = n(24);
        e.exports = Array.isArray || function (e) {
            return "Array" == i(e)
        }
    }, function (e, t, n) {
        var i = n(5)("iterator"),
            r = !1;
        try {
            var o = [7][i]();
            o.return = function () {
                r = !0
            }, Array.from(o, (function () {
                throw 2
            }))
        } catch (e) {}
        e.exports = function (e, t) {
            if (!t && !r) return !1;
            var n = !1;
            try {
                var o = [7],
                    a = o[i]();
                a.next = function () {
                    return {
                        done: n = !0
                    }
                }, o[i] = function () {
                    return a
                }, e(o)
            } catch (e) {}
            return n
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(3);
        e.exports = function () {
            var e = i(this),
                t = "";
            return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.unicode && (t += "u"), e.sticky && (t += "y"), t
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(47),
            r = RegExp.prototype.exec;
        e.exports = function (e, t) {
            var n = e.exec;
            if ("function" == typeof n) {
                var o = n.call(e, t);
                if ("object" != typeof o) throw new TypeError("RegExp exec method returned something other than an Object or null");
                return o
            }
            if ("RegExp" !== i(e)) throw new TypeError("RegExp#exec called on incompatible receiver");
            return r.call(e, t)
        }
    }, function (e, t, n) {
        "use strict";
        n(110);
        var i = n(12),
            r = n(15),
            o = n(2),
            a = n(25),
            s = n(5),
            u = n(82),
            c = s("species"),
            l = !o((function () {
                var e = /./;
                return e.exec = function () {
                    var e = [];
                    return e.groups = {
                        a: "7"
                    }, e
                }, "7" !== "".replace(e, "$<a>")
            })),
            h = function () {
                var e = /(?:)/,
                    t = e.exec;
                e.exec = function () {
                    return t.apply(this, arguments)
                };
                var n = "ab".split(e);
                return 2 === n.length && "a" === n[0] && "b" === n[1]
            }();
        e.exports = function (e, t, n) {
            var f = s(e),
                d = !o((function () {
                    var t = {};
                    return t[f] = function () {
                        return 7
                    }, 7 != "" [e](t)
                })),
                p = d ? !o((function () {
                    var t = !1,
                        n = /a/;
                    return n.exec = function () {
                        return t = !0, null
                    }, "split" === e && (n.constructor = {}, n.constructor[c] = function () {
                        return n
                    }), n[f](""), !t
                })) : void 0;
            if (!d || !p || "replace" === e && !l || "split" === e && !h) {
                var _ = /./ [f],
                    v = n(a, f, "" [e], (function (e, t, n, i, r) {
                        return t.exec === u ? d && !r ? {
                            done: !0,
                            value: _.call(t, n, i)
                        } : {
                            done: !0,
                            value: e.call(n, t, i)
                        } : {
                            done: !1
                        }
                    })),
                    m = v[0],
                    g = v[1];
                i(String.prototype, e, m), r(RegExp.prototype, f, 2 == t ? function (e, t) {
                    return g.call(e, this, t)
                } : function (e) {
                    return g.call(e, this)
                })
            }
        }
    }, function (e, t, n) {
        var i = n(18),
            r = n(105),
            o = n(77),
            a = n(3),
            s = n(6),
            u = n(79),
            c = {},
            l = {};
        (t = e.exports = function (e, t, n, h, f) {
            var d, p, _, v, m = f ? function () {
                    return e
                } : u(e),
                g = i(n, h, t ? 2 : 1),
                y = 0;
            if ("function" != typeof m) throw TypeError(e + " is not iterable!");
            if (o(m)) {
                for (d = s(e.length); d > y; y++)
                    if ((v = t ? g(a(p = e[y])[0], p[1]) : g(e[y])) === c || v === l) return v
            } else
                for (_ = m.call(e); !(p = _.next()).done;)
                    if ((v = r(_, g, p.value, t)) === c || v === l) return v
        }).BREAK = c, t.RETURN = l
    }, function (e, t, n) {
        var i = n(1).navigator;
        e.exports = i && i.userAgent || ""
    }, function (e, t, n) {
        "use strict";
        var i = n(1),
            r = n(0),
            o = n(12),
            a = n(44),
            s = n(28),
            u = n(57),
            c = n(43),
            l = n(4),
            h = n(2),
            f = n(53),
            d = n(39),
            p = n(68);
        e.exports = function (e, t, n, _, v, m) {
            var g = i[e],
                y = g,
                b = v ? "set" : "add",
                E = y && y.prototype,
                w = {},
                S = function (e) {
                    var t = E[e];
                    o(E, e, "delete" == e || "has" == e ? function (e) {
                        return !(m && !l(e)) && t.call(this, 0 === e ? 0 : e)
                    } : "get" == e ? function (e) {
                        return m && !l(e) ? void 0 : t.call(this, 0 === e ? 0 : e)
                    } : "add" == e ? function (e) {
                        return t.call(this, 0 === e ? 0 : e), this
                    } : function (e, n) {
                        return t.call(this, 0 === e ? 0 : e, n), this
                    })
                };
            if ("function" == typeof y && (m || E.forEach && !h((function () {
                    (new y).entries().next()
                })))) {
                var x = new y,
                    L = x[b](m ? {} : -0, 1) != x,
                    k = h((function () {
                        x.has(1)
                    })),
                    M = f((function (e) {
                        new y(e)
                    })),
                    I = !m && h((function () {
                        for (var e = new y, t = 5; t--;) e[b](t, t);
                        return !e.has(-0)
                    }));
                M || ((y = t((function (t, n) {
                    c(t, y, e);
                    var i = p(new g, t, y);
                    return null != n && u(n, v, i[b], i), i
                }))).prototype = E, E.constructor = y), (k || I) && (S("delete"), S("has"), v && S("get")), (I || L) && S(b), m && E.clear && delete E.clear
            } else y = _.getConstructor(t, e, v, b), a(y.prototype, n), s.NEED = !0;
            return d(y, e), w[e] = y, r(r.G + r.W + r.F * (y != g), w), m || _.setStrong(y, e, v), y
        }
    }, function (e, t, n) {
        for (var i, r = n(1), o = n(15), a = n(30), s = a("typed_array"), u = a("view"), c = !(!r.ArrayBuffer || !r.DataView), l = c, h = 0, f = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); h < 9;)(i = r[f[h++]]) ? (o(i.prototype, s, !0), o(i.prototype, u, !0)) : l = !1;
        e.exports = {
            ABV: c,
            CONSTR: l,
            TYPED: s,
            VIEW: u
        }
    }, function (e, t, n) {
        var i = n(4),
            r = n(1).document,
            o = i(r) && i(r.createElement);
        e.exports = function (e) {
            return o ? r.createElement(e) : {}
        }
    }, function (e, t, n) {
        t.f = n(5)
    }, function (e, t, n) {
        var i = n(49)("keys"),
            r = n(30);
        e.exports = function (e) {
            return i[e] || (i[e] = r(e))
        }
    }, function (e, t) {
        e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
    }, function (e, t, n) {
        var i = n(1).document;
        e.exports = i && i.documentElement
    }, function (e, t, n) {
        var i = n(4),
            r = n(3),
            o = function (e, t) {
                if (r(e), !i(t) && null !== t) throw TypeError(t + ": can't set as prototype!")
            };
        e.exports = {
            set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, i) {
                try {
                    (i = n(18)(Function.call, n(21).f(Object.prototype, "__proto__").set, 2))(e, []), t = !(e instanceof Array)
                } catch (e) {
                    t = !0
                }
                return function (e, n) {
                    return o(e, n), t ? e.__proto__ = n : i(e, n), e
                }
            }({}, !1) : void 0),
            check: o
        }
    }, function (e, t) {
        e.exports = "\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff"
    }, function (e, t, n) {
        var i = n(4),
            r = n(66).set;
        e.exports = function (e, t, n) {
            var o, a = t.constructor;
            return a !== n && "function" == typeof a && (o = a.prototype) !== n.prototype && i(o) && r && r(e, o), e
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(20),
            r = n(25);
        e.exports = function (e) {
            var t = String(r(this)),
                n = "",
                o = i(e);
            if (o < 0 || o == 1 / 0) throw RangeError("Count can't be negative");
            for (; o > 0;
                (o >>>= 1) && (t += t)) 1 & o && (n += t);
            return n
        }
    }, function (e, t) {
        e.exports = Math.sign || function (e) {
            return 0 == (e = +e) || e != e ? e : e < 0 ? -1 : 1
        }
    }, function (e, t) {
        var n = Math.expm1;
        e.exports = !n || n(10) > 22025.465794806718 || n(10) < 22025.465794806718 || -2e-17 != n(-2e-17) ? function (e) {
            return 0 == (e = +e) ? e : e > -1e-6 && e < 1e-6 ? e + e * e / 2 : Math.exp(e) - 1
        } : n
    }, function (e, t, n) {
        var i = n(20),
            r = n(25);
        e.exports = function (e) {
            return function (t, n) {
                var o, a, s = String(r(t)),
                    u = i(n),
                    c = s.length;
                return u < 0 || u >= c ? e ? "" : void 0 : (o = s.charCodeAt(u)) < 55296 || o > 56319 || u + 1 === c || (a = s.charCodeAt(u + 1)) < 56320 || a > 57343 ? e ? s.charAt(u) : o : e ? s.slice(u, u + 2) : a - 56320 + (o - 55296 << 10) + 65536
            }
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(31),
            r = n(0),
            o = n(12),
            a = n(15),
            s = n(41),
            u = n(104),
            c = n(39),
            l = n(36),
            h = n(5)("iterator"),
            f = !([].keys && "next" in [].keys()),
            d = function () {
                return this
            };
        e.exports = function (e, t, n, p, _, v, m) {
            u(n, t, p);
            var g, y, b, E = function (e) {
                    if (!f && e in L) return L[e];
                    switch (e) {
                        case "keys":
                        case "values":
                            return function () {
                                return new n(this, e)
                            }
                    }
                    return function () {
                        return new n(this, e)
                    }
                },
                w = t + " Iterator",
                S = "values" == _,
                x = !1,
                L = e.prototype,
                k = L[h] || L["@@iterator"] || _ && L[_],
                M = k || E(_),
                I = _ ? S ? E("entries") : M : void 0,
                A = "Array" == t && L.entries || k;
            if (A && (b = l(A.call(new e))) !== Object.prototype && b.next && (c(b, w, !0), i || "function" == typeof b[h] || a(b, h, d)), S && k && "values" !== k.name && (x = !0, M = function () {
                    return k.call(this)
                }), i && !m || !f && !x && L[h] || a(L, h, M), s[t] = M, s[w] = d, _)
                if (g = {
                        values: S ? M : E("values"),
                        keys: v ? M : E("keys"),
                        entries: I
                    }, m)
                    for (y in g) y in L || o(L, y, g[y]);
                else r(r.P + r.F * (f || x), t, g);
            return g
        }
    }, function (e, t, n) {
        var i = n(75),
            r = n(25);
        e.exports = function (e, t, n) {
            if (i(t)) throw TypeError("String#" + n + " doesn't accept regex!");
            return String(r(e))
        }
    }, function (e, t, n) {
        var i = n(4),
            r = n(24),
            o = n(5)("match");
        e.exports = function (e) {
            var t;
            return i(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == r(e))
        }
    }, function (e, t, n) {
        var i = n(5)("match");
        e.exports = function (e) {
            var t = /./;
            try {
                "/./" [e](t)
            } catch (n) {
                try {
                    return t[i] = !1, !"/./" [e](t)
                } catch (e) {}
            }
            return !0
        }
    }, function (e, t, n) {
        var i = n(41),
            r = n(5)("iterator"),
            o = Array.prototype;
        e.exports = function (e) {
            return void 0 !== e && (i.Array === e || o[r] === e)
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(9),
            r = n(29);
        e.exports = function (e, t, n) {
            t in e ? i.f(e, t, r(0, n)) : e[t] = n
        }
    }, function (e, t, n) {
        var i = n(47),
            r = n(5)("iterator"),
            o = n(41);
        e.exports = n(7).getIteratorMethod = function (e) {
            if (null != e) return e[r] || e["@@iterator"] || o[i(e)]
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(11),
            r = n(33),
            o = n(6);
        e.exports = function (e) {
            for (var t = i(this), n = o(t.length), a = arguments.length, s = r(a > 1 ? arguments[1] : void 0, n), u = a > 2 ? arguments[2] : void 0, c = void 0 === u ? n : r(u, n); c > s;) t[s++] = e;
            return t
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(37),
            r = n(109),
            o = n(41),
            a = n(16);
        e.exports = n(73)(Array, "Array", (function (e, t) {
            this._t = a(e), this._i = 0, this._k = t
        }), (function () {
            var e = this._t,
                t = this._k,
                n = this._i++;
            return !e || n >= e.length ? (this._t = void 0, r(1)) : r(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]])
        }), "values"), o.Arguments = o.Array, i("keys"), i("values"), i("entries")
    }, function (e, t, n) {
        "use strict";
        var i, r, o = n(54),
            a = RegExp.prototype.exec,
            s = String.prototype.replace,
            u = a,
            c = (i = /a/, r = /b*/g, a.call(i, "a"), a.call(r, "a"), 0 !== i.lastIndex || 0 !== r.lastIndex),
            l = void 0 !== /()??/.exec("")[1];
        (c || l) && (u = function (e) {
            var t, n, i, r, u = this;
            return l && (n = new RegExp("^" + u.source + "$(?!\\s)", o.call(u))), c && (t = u.lastIndex), i = a.call(u, e), c && i && (u.lastIndex = u.global ? i.index + i[0].length : t), l && i && i.length > 1 && s.call(i[0], n, (function () {
                for (r = 1; r < arguments.length - 2; r++) void 0 === arguments[r] && (i[r] = void 0)
            })), i
        }), e.exports = u
    }, function (e, t, n) {
        "use strict";
        var i = n(72)(!0);
        e.exports = function (e, t, n) {
            return t + (n ? i(e, t).length : 1)
        }
    }, function (e, t, n) {
        var i, r, o, a = n(18),
            s = n(98),
            u = n(65),
            c = n(61),
            l = n(1),
            h = l.process,
            f = l.setImmediate,
            d = l.clearImmediate,
            p = l.MessageChannel,
            _ = l.Dispatch,
            v = 0,
            m = {},
            g = function () {
                var e = +this;
                if (m.hasOwnProperty(e)) {
                    var t = m[e];
                    delete m[e], t()
                }
            },
            y = function (e) {
                g.call(e.data)
            };
        f && d || (f = function (e) {
            for (var t = [], n = 1; arguments.length > n;) t.push(arguments[n++]);
            return m[++v] = function () {
                s("function" == typeof e ? e : Function(e), t)
            }, i(v), v
        }, d = function (e) {
            delete m[e]
        }, "process" == n(24)(h) ? i = function (e) {
            h.nextTick(a(g, e, 1))
        } : _ && _.now ? i = function (e) {
            _.now(a(g, e, 1))
        } : p ? (o = (r = new p).port2, r.port1.onmessage = y, i = a(o.postMessage, o, 1)) : l.addEventListener && "function" == typeof postMessage && !l.importScripts ? (i = function (e) {
            l.postMessage(e + "", "*")
        }, l.addEventListener("message", y, !1)) : i = "onreadystatechange" in c("script") ? function (e) {
            u.appendChild(c("script")).onreadystatechange = function () {
                u.removeChild(this), g.call(e)
            }
        } : function (e) {
            setTimeout(a(g, e, 1), 0)
        }), e.exports = {
            set: f,
            clear: d
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(1),
            r = n(8),
            o = n(31),
            a = n(60),
            s = n(15),
            u = n(44),
            c = n(2),
            l = n(43),
            h = n(20),
            f = n(6),
            d = n(117),
            p = n(35).f,
            _ = n(9).f,
            v = n(80),
            m = n(39),
            g = i.ArrayBuffer,
            y = i.DataView,
            b = i.Math,
            E = i.RangeError,
            w = i.Infinity,
            S = g,
            x = b.abs,
            L = b.pow,
            k = b.floor,
            M = b.log,
            I = b.LN2,
            A = r ? "_b" : "buffer",
            T = r ? "_l" : "byteLength",
            D = r ? "_o" : "byteOffset";

        function R(e, t, n) {
            var i, r, o, a = new Array(n),
                s = 8 * n - t - 1,
                u = (1 << s) - 1,
                c = u >> 1,
                l = 23 === t ? L(2, -24) - L(2, -77) : 0,
                h = 0,
                f = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0;
            for ((e = x(e)) != e || e === w ? (r = e != e ? 1 : 0, i = u) : (i = k(M(e) / I), e * (o = L(2, -i)) < 1 && (i--, o *= 2), (e += i + c >= 1 ? l / o : l * L(2, 1 - c)) * o >= 2 && (i++, o /= 2), i + c >= u ? (r = 0, i = u) : i + c >= 1 ? (r = (e * o - 1) * L(2, t), i += c) : (r = e * L(2, c - 1) * L(2, t), i = 0)); t >= 8; a[h++] = 255 & r, r /= 256, t -= 8);
            for (i = i << t | r, s += t; s > 0; a[h++] = 255 & i, i /= 256, s -= 8);
            return a[--h] |= 128 * f, a
        }

        function O(e, t, n) {
            var i, r = 8 * n - t - 1,
                o = (1 << r) - 1,
                a = o >> 1,
                s = r - 7,
                u = n - 1,
                c = e[u--],
                l = 127 & c;
            for (c >>= 7; s > 0; l = 256 * l + e[u], u--, s -= 8);
            for (i = l & (1 << -s) - 1, l >>= -s, s += t; s > 0; i = 256 * i + e[u], u--, s -= 8);
            if (0 === l) l = 1 - a;
            else {
                if (l === o) return i ? NaN : c ? -w : w;
                i += L(2, t), l -= a
            }
            return (c ? -1 : 1) * i * L(2, l - t)
        }

        function C(e) {
            return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0]
        }

        function N(e) {
            return [255 & e]
        }

        function j(e) {
            return [255 & e, e >> 8 & 255]
        }

        function P(e) {
            return [255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255]
        }

        function B(e) {
            return R(e, 52, 8)
        }

        function U(e) {
            return R(e, 23, 4)
        }

        function F(e, t, n) {
            _(e.prototype, t, {
                get: function () {
                    return this[n]
                }
            })
        }

        function z(e, t, n, i) {
            var r = d(+n);
            if (r + t > e[T]) throw E("Wrong index!");
            var o = e[A]._b,
                a = r + e[D],
                s = o.slice(a, a + t);
            return i ? s : s.reverse()
        }

        function V(e, t, n, i, r, o) {
            var a = d(+n);
            if (a + t > e[T]) throw E("Wrong index!");
            for (var s = e[A]._b, u = a + e[D], c = i(+r), l = 0; l < t; l++) s[u + l] = c[o ? l : t - l - 1]
        }
        if (a.ABV) {
            if (!c((function () {
                    g(1)
                })) || !c((function () {
                    new g(-1)
                })) || c((function () {
                    return new g, new g(1.5), new g(NaN), "ArrayBuffer" != g.name
                }))) {
                for (var G, H = (g = function (e) {
                        return l(this, g), new S(d(e))
                    }).prototype = S.prototype, W = p(S), Y = 0; W.length > Y;)(G = W[Y++]) in g || s(g, G, S[G]);
                o || (H.constructor = g)
            }
            var Z = new y(new g(2)),
                Q = y.prototype.setInt8;
            Z.setInt8(0, 2147483648), Z.setInt8(1, 2147483649), !Z.getInt8(0) && Z.getInt8(1) || u(y.prototype, {
                setInt8: function (e, t) {
                    Q.call(this, e, t << 24 >> 24)
                },
                setUint8: function (e, t) {
                    Q.call(this, e, t << 24 >> 24)
                }
            }, !0)
        } else g = function (e) {
            l(this, g, "ArrayBuffer");
            var t = d(e);
            this._b = v.call(new Array(t), 0), this[T] = t
        }, y = function (e, t, n) {
            l(this, y, "DataView"), l(e, g, "DataView");
            var i = e[T],
                r = h(t);
            if (r < 0 || r > i) throw E("Wrong offset!");
            if (r + (n = void 0 === n ? i - r : f(n)) > i) throw E("Wrong length!");
            this[A] = e, this[D] = r, this[T] = n
        }, r && (F(g, "byteLength", "_l"), F(y, "buffer", "_b"), F(y, "byteLength", "_l"), F(y, "byteOffset", "_o")), u(y.prototype, {
            getInt8: function (e) {
                return z(this, 1, e)[0] << 24 >> 24
            },
            getUint8: function (e) {
                return z(this, 1, e)[0]
            },
            getInt16: function (e) {
                var t = z(this, 2, e, arguments[1]);
                return (t[1] << 8 | t[0]) << 16 >> 16
            },
            getUint16: function (e) {
                var t = z(this, 2, e, arguments[1]);
                return t[1] << 8 | t[0]
            },
            getInt32: function (e) {
                return C(z(this, 4, e, arguments[1]))
            },
            getUint32: function (e) {
                return C(z(this, 4, e, arguments[1])) >>> 0
            },
            getFloat32: function (e) {
                return O(z(this, 4, e, arguments[1]), 23, 4)
            },
            getFloat64: function (e) {
                return O(z(this, 8, e, arguments[1]), 52, 8)
            },
            setInt8: function (e, t) {
                V(this, 1, e, N, t)
            },
            setUint8: function (e, t) {
                V(this, 1, e, N, t)
            },
            setInt16: function (e, t) {
                V(this, 2, e, j, t, arguments[2])
            },
            setUint16: function (e, t) {
                V(this, 2, e, j, t, arguments[2])
            },
            setInt32: function (e, t) {
                V(this, 4, e, P, t, arguments[2])
            },
            setUint32: function (e, t) {
                V(this, 4, e, P, t, arguments[2])
            },
            setFloat32: function (e, t) {
                V(this, 4, e, U, t, arguments[2])
            },
            setFloat64: function (e, t) {
                V(this, 8, e, B, t, arguments[2])
            }
        });
        m(g, "ArrayBuffer"), m(y, "DataView"), s(y.prototype, a.VIEW, !0), t.ArrayBuffer = g, t.DataView = y
    }, function (e, t) {
        var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
        "number" == typeof __g && (__g = n)
    }, function (e, t) {
        e.exports = function (e) {
            return "object" == typeof e ? null !== e : "function" == typeof e
        }
    }, function (e, t, n) {
        e.exports = !n(122)((function () {
            return 7 != Object.defineProperty({}, "a", {
                get: function () {
                    return 7
                }
            }).a
        }))
    }, function (e, t) {
        var n;
        n = function () {
            return this
        }();
        try {
            n = n || new Function("return this")()
        } catch (e) {
            "object" == typeof window && (n = window)
        }
        e.exports = n
    }, function (e, t, n) {
        e.exports = !n(8) && !n(2)((function () {
            return 7 != Object.defineProperty(n(61)("div"), "a", {
                get: function () {
                    return 7
                }
            }).a
        }))
    }, function (e, t, n) {
        var i = n(1),
            r = n(7),
            o = n(31),
            a = n(62),
            s = n(9).f;
        e.exports = function (e) {
            var t = r.Symbol || (r.Symbol = o ? {} : i.Symbol || {});
            "_" == e.charAt(0) || e in t || s(t, e, {
                value: a.f(e)
            })
        }
    }, function (e, t, n) {
        var i = n(14),
            r = n(16),
            o = n(50)(!1),
            a = n(63)("IE_PROTO");
        e.exports = function (e, t) {
            var n, s = r(e),
                u = 0,
                c = [];
            for (n in s) n != a && i(s, n) && c.push(n);
            for (; t.length > u;) i(s, n = t[u++]) && (~o(c, n) || c.push(n));
            return c
        }
    }, function (e, t, n) {
        var i = n(9),
            r = n(3),
            o = n(32);
        e.exports = n(8) ? Object.defineProperties : function (e, t) {
            r(e);
            for (var n, a = o(t), s = a.length, u = 0; s > u;) i.f(e, n = a[u++], t[n]);
            return e
        }
    }, function (e, t, n) {
        var i = n(16),
            r = n(35).f,
            o = {}.toString,
            a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
        e.exports.f = function (e) {
            return a && "[object Window]" == o.call(e) ? function (e) {
                try {
                    return r(e)
                } catch (e) {
                    return a.slice()
                }
            }(e) : r(i(e))
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(8),
            r = n(32),
            o = n(51),
            a = n(46),
            s = n(11),
            u = n(45),
            c = Object.assign;
        e.exports = !c || n(2)((function () {
            var e = {},
                t = {},
                n = Symbol(),
                i = "abcdefghijklmnopqrst";
            return e[n] = 7, i.split("").forEach((function (e) {
                t[e] = e
            })), 7 != c({}, e)[n] || Object.keys(c({}, t)).join("") != i
        })) ? function (e, t) {
            for (var n = s(e), c = arguments.length, l = 1, h = o.f, f = a.f; c > l;)
                for (var d, p = u(arguments[l++]), _ = h ? r(p).concat(h(p)) : r(p), v = _.length, m = 0; v > m;) d = _[m++], i && !f.call(p, d) || (n[d] = p[d]);
            return n
        } : c
    }, function (e, t) {
        e.exports = Object.is || function (e, t) {
            return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(19),
            r = n(4),
            o = n(98),
            a = [].slice,
            s = {},
            u = function (e, t, n) {
                if (!(t in s)) {
                    for (var i = [], r = 0; r < t; r++) i[r] = "a[" + r + "]";
                    s[t] = Function("F,a", "return new F(" + i.join(",") + ")")
                }
                return s[t](e, n)
            };
        e.exports = Function.bind || function (e) {
            var t = i(this),
                n = a.call(arguments, 1),
                s = function () {
                    var i = n.concat(a.call(arguments));
                    return this instanceof s ? u(t, i.length, i) : o(t, i, e)
                };
            return r(t.prototype) && (s.prototype = t.prototype), s
        }
    }, function (e, t) {
        e.exports = function (e, t, n) {
            var i = void 0 === n;
            switch (t.length) {
                case 0:
                    return i ? e() : e.call(n);
                case 1:
                    return i ? e(t[0]) : e.call(n, t[0]);
                case 2:
                    return i ? e(t[0], t[1]) : e.call(n, t[0], t[1]);
                case 3:
                    return i ? e(t[0], t[1], t[2]) : e.call(n, t[0], t[1], t[2]);
                case 4:
                    return i ? e(t[0], t[1], t[2], t[3]) : e.call(n, t[0], t[1], t[2], t[3])
            }
            return e.apply(n, t)
        }
    }, function (e, t, n) {
        var i = n(1).parseInt,
            r = n(40).trim,
            o = n(67),
            a = /^[-+]?0[xX]/;
        e.exports = 8 !== i(o + "08") || 22 !== i(o + "0x16") ? function (e, t) {
            var n = r(String(e), 3);
            return i(n, t >>> 0 || (a.test(n) ? 16 : 10))
        } : i
    }, function (e, t, n) {
        var i = n(1).parseFloat,
            r = n(40).trim;
        e.exports = 1 / i(n(67) + "-0") != -1 / 0 ? function (e) {
            var t = r(String(e), 3),
                n = i(t);
            return 0 === n && "-" == t.charAt(0) ? -0 : n
        } : i
    }, function (e, t, n) {
        var i = n(24);
        e.exports = function (e, t) {
            if ("number" != typeof e && "Number" != i(e)) throw TypeError(t);
            return +e
        }
    }, function (e, t, n) {
        var i = n(4),
            r = Math.floor;
        e.exports = function (e) {
            return !i(e) && isFinite(e) && r(e) === e
        }
    }, function (e, t) {
        e.exports = Math.log1p || function (e) {
            return (e = +e) > -1e-8 && e < 1e-8 ? e - e * e / 2 : Math.log(1 + e)
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(34),
            r = n(29),
            o = n(39),
            a = {};
        n(15)(a, n(5)("iterator"), (function () {
            return this
        })), e.exports = function (e, t, n) {
            e.prototype = i(a, {
                next: r(1, n)
            }), o(e, t + " Iterator")
        }
    }, function (e, t, n) {
        var i = n(3);
        e.exports = function (e, t, n, r) {
            try {
                return r ? t(i(n)[0], n[1]) : t(n)
            } catch (t) {
                var o = e.return;
                throw void 0 !== o && i(o.call(e)), t
            }
        }
    }, function (e, t, n) {
        var i = n(225);
        e.exports = function (e, t) {
            return new(i(e))(t)
        }
    }, function (e, t, n) {
        var i = n(19),
            r = n(11),
            o = n(45),
            a = n(6);
        e.exports = function (e, t, n, s, u) {
            i(t);
            var c = r(e),
                l = o(c),
                h = a(c.length),
                f = u ? h - 1 : 0,
                d = u ? -1 : 1;
            if (n < 2)
                for (;;) {
                    if (f in l) {
                        s = l[f], f += d;
                        break
                    }
                    if (f += d, u ? f < 0 : h <= f) throw TypeError("Reduce of empty array with no initial value")
                }
            for (; u ? f >= 0 : h > f; f += d) f in l && (s = t(s, l[f], f, c));
            return s
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(11),
            r = n(33),
            o = n(6);
        e.exports = [].copyWithin || function (e, t) {
            var n = i(this),
                a = o(n.length),
                s = r(e, a),
                u = r(t, a),
                c = arguments.length > 2 ? arguments[2] : void 0,
                l = Math.min((void 0 === c ? a : r(c, a)) - u, a - s),
                h = 1;
            for (u < s && s < u + l && (h = -1, u += l - 1, s += l - 1); l-- > 0;) u in n ? n[s] = n[u] : delete n[s], s += h, u += h;
            return n
        }
    }, function (e, t) {
        e.exports = function (e, t) {
            return {
                value: t,
                done: !!e
            }
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(82);
        n(0)({
            target: "RegExp",
            proto: !0,
            forced: i !== /./.exec
        }, {
            exec: i
        })
    }, function (e, t, n) {
        n(8) && "g" != /./g.flags && n(9).f(RegExp.prototype, "flags", {
            configurable: !0,
            get: n(54)
        })
    }, function (e, t, n) {
        "use strict";
        var i, r, o, a, s = n(31),
            u = n(1),
            c = n(18),
            l = n(47),
            h = n(0),
            f = n(4),
            d = n(19),
            p = n(43),
            _ = n(57),
            v = n(48),
            m = n(84).set,
            g = n(245)(),
            y = n(113),
            b = n(246),
            E = n(58),
            w = n(114),
            S = u.TypeError,
            x = u.process,
            L = x && x.versions,
            k = L && L.v8 || "",
            M = u.Promise,
            I = "process" == l(x),
            A = function () {},
            T = r = y.f,
            D = !! function () {
                try {
                    var e = M.resolve(1),
                        t = (e.constructor = {})[n(5)("species")] = function (e) {
                            e(A, A)
                        };
                    return (I || "function" == typeof PromiseRejectionEvent) && e.then(A) instanceof t && 0 !== k.indexOf("6.6") && -1 === E.indexOf("Chrome/66")
                } catch (e) {}
            }(),
            R = function (e) {
                var t;
                return !(!f(e) || "function" != typeof (t = e.then)) && t
            },
            O = function (e, t) {
                if (!e._n) {
                    e._n = !0;
                    var n = e._c;
                    g((function () {
                        for (var i = e._v, r = 1 == e._s, o = 0, a = function (t) {
                                var n, o, a, s = r ? t.ok : t.fail,
                                    u = t.resolve,
                                    c = t.reject,
                                    l = t.domain;
                                try {
                                    s ? (r || (2 == e._h && j(e), e._h = 1), !0 === s ? n = i : (l && l.enter(), n = s(i), l && (l.exit(), a = !0)), n === t.promise ? c(S("Promise-chain cycle")) : (o = R(n)) ? o.call(n, u, c) : u(n)) : c(i)
                                } catch (e) {
                                    l && !a && l.exit(), c(e)
                                }
                            }; n.length > o;) a(n[o++]);
                        e._c = [], e._n = !1, t && !e._h && C(e)
                    }))
                }
            },
            C = function (e) {
                m.call(u, (function () {
                    var t, n, i, r = e._v,
                        o = N(e);
                    if (o && (t = b((function () {
                            I ? x.emit("unhandledRejection", r, e) : (n = u.onunhandledrejection) ? n({
                                promise: e,
                                reason: r
                            }) : (i = u.console) && i.error && i.error("Unhandled promise rejection", r)
                        })), e._h = I || N(e) ? 2 : 1), e._a = void 0, o && t.e) throw t.v
                }))
            },
            N = function (e) {
                return 1 !== e._h && 0 === (e._a || e._c).length
            },
            j = function (e) {
                m.call(u, (function () {
                    var t;
                    I ? x.emit("rejectionHandled", e) : (t = u.onrejectionhandled) && t({
                        promise: e,
                        reason: e._v
                    })
                }))
            },
            P = function (e) {
                var t = this;
                t._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), O(t, !0))
            },
            B = function (e) {
                var t, n = this;
                if (!n._d) {
                    n._d = !0, n = n._w || n;
                    try {
                        if (n === e) throw S("Promise can't be resolved itself");
                        (t = R(e)) ? g((function () {
                            var i = {
                                _w: n,
                                _d: !1
                            };
                            try {
                                t.call(e, c(B, i, 1), c(P, i, 1))
                            } catch (e) {
                                P.call(i, e)
                            }
                        })): (n._v = e, n._s = 1, O(n, !1))
                    } catch (e) {
                        P.call({
                            _w: n,
                            _d: !1
                        }, e)
                    }
                }
            };
        D || (M = function (e) {
            p(this, M, "Promise", "_h"), d(e), i.call(this);
            try {
                e(c(B, this, 1), c(P, this, 1))
            } catch (e) {
                P.call(this, e)
            }
        }, (i = function (e) {
            this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1
        }).prototype = n(44)(M.prototype, {
            then: function (e, t) {
                var n = T(v(this, M));
                return n.ok = "function" != typeof e || e, n.fail = "function" == typeof t && t, n.domain = I ? x.domain : void 0, this._c.push(n), this._a && this._a.push(n), this._s && O(this, !1), n.promise
            },
            catch: function (e) {
                return this.then(void 0, e)
            }
        }), o = function () {
            var e = new i;
            this.promise = e, this.resolve = c(B, e, 1), this.reject = c(P, e, 1)
        }, y.f = T = function (e) {
            return e === M || e === a ? new o(e) : r(e)
        }), h(h.G + h.W + h.F * !D, {
            Promise: M
        }), n(39)(M, "Promise"), n(42)("Promise"), a = n(7).Promise, h(h.S + h.F * !D, "Promise", {
            reject: function (e) {
                var t = T(this);
                return (0, t.reject)(e), t.promise
            }
        }), h(h.S + h.F * (s || !D), "Promise", {
            resolve: function (e) {
                return w(s && this === a ? M : this, e)
            }
        }), h(h.S + h.F * !(D && n(53)((function (e) {
            M.all(e).catch(A)
        }))), "Promise", {
            all: function (e) {
                var t = this,
                    n = T(t),
                    i = n.resolve,
                    r = n.reject,
                    o = b((function () {
                        var n = [],
                            o = 0,
                            a = 1;
                        _(e, !1, (function (e) {
                            var s = o++,
                                u = !1;
                            n.push(void 0), a++, t.resolve(e).then((function (e) {
                                u || (u = !0, n[s] = e, --a || i(n))
                            }), r)
                        })), --a || i(n)
                    }));
                return o.e && r(o.v), n.promise
            },
            race: function (e) {
                var t = this,
                    n = T(t),
                    i = n.reject,
                    r = b((function () {
                        _(e, !1, (function (e) {
                            t.resolve(e).then(n.resolve, i)
                        }))
                    }));
                return r.e && i(r.v), n.promise
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(19);

        function r(e) {
            var t, n;
            this.promise = new e((function (e, i) {
                if (void 0 !== t || void 0 !== n) throw TypeError("Bad Promise constructor");
                t = e, n = i
            })), this.resolve = i(t), this.reject = i(n)
        }
        e.exports.f = function (e) {
            return new r(e)
        }
    }, function (e, t, n) {
        var i = n(3),
            r = n(4),
            o = n(113);
        e.exports = function (e, t) {
            if (i(e), r(t) && t.constructor === e) return t;
            var n = o.f(e);
            return (0, n.resolve)(t), n.promise
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(9).f,
            r = n(34),
            o = n(44),
            a = n(18),
            s = n(43),
            u = n(57),
            c = n(73),
            l = n(109),
            h = n(42),
            f = n(8),
            d = n(28).fastKey,
            p = n(38),
            _ = f ? "_s" : "size",
            v = function (e, t) {
                var n, i = d(t);
                if ("F" !== i) return e._i[i];
                for (n = e._f; n; n = n.n)
                    if (n.k == t) return n
            };
        e.exports = {
            getConstructor: function (e, t, n, c) {
                var l = e((function (e, i) {
                    s(e, l, t, "_i"), e._t = t, e._i = r(null), e._f = void 0, e._l = void 0, e[_] = 0, null != i && u(i, n, e[c], e)
                }));
                return o(l.prototype, {
                    clear: function () {
                        for (var e = p(this, t), n = e._i, i = e._f; i; i = i.n) i.r = !0, i.p && (i.p = i.p.n = void 0), delete n[i.i];
                        e._f = e._l = void 0, e[_] = 0
                    },
                    delete: function (e) {
                        var n = p(this, t),
                            i = v(n, e);
                        if (i) {
                            var r = i.n,
                                o = i.p;
                            delete n._i[i.i], i.r = !0, o && (o.n = r), r && (r.p = o), n._f == i && (n._f = r), n._l == i && (n._l = o), n[_]--
                        }
                        return !!i
                    },
                    forEach: function (e) {
                        p(this, t);
                        for (var n, i = a(e, arguments.length > 1 ? arguments[1] : void 0, 3); n = n ? n.n : this._f;)
                            for (i(n.v, n.k, this); n && n.r;) n = n.p
                    },
                    has: function (e) {
                        return !!v(p(this, t), e)
                    }
                }), f && i(l.prototype, "size", {
                    get: function () {
                        return p(this, t)[_]
                    }
                }), l
            },
            def: function (e, t, n) {
                var i, r, o = v(e, t);
                return o ? o.v = n : (e._l = o = {
                    i: r = d(t, !0),
                    k: t,
                    v: n,
                    p: i = e._l,
                    n: void 0,
                    r: !1
                }, e._f || (e._f = o), i && (i.n = o), e[_]++, "F" !== r && (e._i[r] = o)), e
            },
            getEntry: v,
            setStrong: function (e, t, n) {
                c(e, t, (function (e, n) {
                    this._t = p(e, t), this._k = n, this._l = void 0
                }), (function () {
                    for (var e = this._k, t = this._l; t && t.r;) t = t.p;
                    return this._t && (this._l = t = t ? t.n : this._t._f) ? l(0, "keys" == e ? t.k : "values" == e ? t.v : [t.k, t.v]) : (this._t = void 0, l(1))
                }), n ? "entries" : "values", !n, !0), h(t)
            }
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(44),
            r = n(28).getWeak,
            o = n(3),
            a = n(4),
            s = n(43),
            u = n(57),
            c = n(23),
            l = n(14),
            h = n(38),
            f = c(5),
            d = c(6),
            p = 0,
            _ = function (e) {
                return e._l || (e._l = new v)
            },
            v = function () {
                this.a = []
            },
            m = function (e, t) {
                return f(e.a, (function (e) {
                    return e[0] === t
                }))
            };
        v.prototype = {
            get: function (e) {
                var t = m(this, e);
                if (t) return t[1]
            },
            has: function (e) {
                return !!m(this, e)
            },
            set: function (e, t) {
                var n = m(this, e);
                n ? n[1] = t : this.a.push([e, t])
            },
            delete: function (e) {
                var t = d(this.a, (function (t) {
                    return t[0] === e
                }));
                return ~t && this.a.splice(t, 1), !!~t
            }
        }, e.exports = {
            getConstructor: function (e, t, n, o) {
                var c = e((function (e, i) {
                    s(e, c, t, "_i"), e._t = t, e._i = p++, e._l = void 0, null != i && u(i, n, e[o], e)
                }));
                return i(c.prototype, {
                    delete: function (e) {
                        if (!a(e)) return !1;
                        var n = r(e);
                        return !0 === n ? _(h(this, t)).delete(e) : n && l(n, this._i) && delete n[this._i]
                    },
                    has: function (e) {
                        if (!a(e)) return !1;
                        var n = r(e);
                        return !0 === n ? _(h(this, t)).has(e) : n && l(n, this._i)
                    }
                }), c
            },
            def: function (e, t, n) {
                var i = r(o(t), !0);
                return !0 === i ? _(e).set(t, n) : i[e._i] = n, e
            },
            ufstore: _
        }
    }, function (e, t, n) {
        var i = n(20),
            r = n(6);
        e.exports = function (e) {
            if (void 0 === e) return 0;
            var t = i(e),
                n = r(t);
            if (t !== n) throw RangeError("Wrong length!");
            return n
        }
    }, function (e, t, n) {
        var i = n(35),
            r = n(51),
            o = n(3),
            a = n(1).Reflect;
        e.exports = a && a.ownKeys || function (e) {
            var t = i.f(o(e)),
                n = r.f;
            return n ? t.concat(n(e)) : t
        }
    }, function (e, t, n) {
        var i = n(6),
            r = n(69),
            o = n(25);
        e.exports = function (e, t, n, a) {
            var s = String(o(e)),
                u = s.length,
                c = void 0 === n ? " " : String(n),
                l = i(t);
            if (l <= u || "" == c) return s;
            var h = l - u,
                f = r.call(c, Math.ceil(h / c.length));
            return f.length > h && (f = f.slice(0, h)), a ? f + s : s + f
        }
    }, function (e, t, n) {
        var i = n(8),
            r = n(32),
            o = n(16),
            a = n(46).f;
        e.exports = function (e) {
            return function (t) {
                for (var n, s = o(t), u = r(s), c = u.length, l = 0, h = []; c > l;) n = u[l++], i && !a.call(s, n) || h.push(e ? [n, s[n]] : s[n]);
                return h
            }
        }
    }, function (e, t) {
        var n = e.exports = {
            version: "2.6.12"
        };
        "number" == typeof __e && (__e = n)
    }, function (e, t) {
        e.exports = function (e) {
            try {
                return !!e()
            } catch (e) {
                return !0
            }
        }
    }, function (e, t, n) {
        "use strict";
        (function (e) {
            function i() {
                return e._babelPolyfill || "undefined" != typeof window && window._babelPolyfill ? null : n(131)
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.idempotentBabelPolyfill = i, t.default = void 0;
            var r = i();
            t.default = r
        }).call(this, n(89))
    }, function (e, t) {
        e.exports = '\n\n<div class="h5-player-ui">\n    \x3c!------------- loading --------------------\x3e\n\n    \x3c!------------- bg --------------------\x3e\n    \x3c!--<img class="h5-video-bg" style="width: 100%;height: 100%;" src="//vr0.6rooms.com/tao/i/f6/399157ed2aa22ff28d795539b4052e14.jpg"/>--\x3e\n    \x3c!------------- controlBar ------------\x3e\n    <div class="h5_video_contrl_panel">\n        <div class="hvc-contrlBg"></div>\n\n        <div class="hvc-left">\n            <a class="hvc-pause"></a>\n            <a class="hvc-voice"></a>\n\n            <p class="hvc-volume">\n                <a class="hvc-volume-handle"></a>\n                <span class="hvc-max"></span>\n                <span class="hvc-min"></span>\n            </p>\n        </div>\n        <div class="hvc-right">\n            <a class="hvc-recode"></a>\n\n            <p class="hvc-danmu-control">\n                <span class="hvc-danmu-handle"></span>\n                <span class="hvc-on noselect" mytitle="关闭弹幕">ON</span>\n                <a class="hvc-off noselect" mytitle="开启弹幕">OFF</a>\n                <span class="hvc-danmu-sug"></span>\n            </p>\n            <span class="hvc-danmu-txt">弹幕</span>\n\n\n            <p class="hvc-lines">\n                <a class="hvc-line-cur">线路1</a>\n                <span>\n                <a class="hvc-line1 on">线路1</a>\n                <a class="hvc-line2">线路2</a>\n            </span>\n            </p>\n\n            <p class="hvc-definition">\n                <a class="hvc-def-cur" >高清</a>\n                <span>\n                    <a class="hvc-def1 on">高清</a>\n                    <a class="hvc-def2">标清</a>\n            </span>\n            </p>\n        </div>\n        \x3c!-- -------- 按钮提示 ------------ --\x3e\n        <div class="hvc-tooltips" style="display: none;"><span></span></div>\n        <div class="hvc-muted-tag" style="display: none">\n            <div class="arrow">已为您静音</div>\n        </div>\n    </div>\n    \x3c!-- -------- liveStatus ------------ --\x3e\n    <div class="hvc-liveStatus" >\n        <div class="content">\n            <div>\n                <img style="text-align: center;margin-bottom: 10px" src="//vr0.6rooms.com/tao/i/a2/630b36a7f886705f72a4ad06b985e10d.png">\n            </div>\n            <span>...</span>\n        </div>\n    </div>\n\n    \x3c!-- -------- 已为您静音 ------------ --\x3e\n    <div class="hvc-muted-panel">\n        <i class="mapIcon"></i>\n        <span class="mapTitle">浏览器处于静音状态</span>\n        <button class="hvc-muted-button">打开声音</button>\n    </div>\n\x3c!--    <img src="//vr0.6rooms.com/tao/i/p3/7d1647dba91c7b5ff9def528af1576cb.png">--\x3e\n    \x3c!-- -------- logger ------------ --\x3e\n    <div class="h5-logger">\n        <a href="javascript:void(0);" class="loggerclose">[x]</a>\n        <div class="h5-logger-connect"></div>\n    </div>\n    \x3c!-- -------- 右键 ------------ --\x3e\n    <div class="hvc-contextMenu" id="hvc-myMenu1">\n        <ul>\n            <li id="hvc-h5player"> h5player</li>\n            <li id="hvc-toFlash"> 切换flash播放器</li>\n            <li id="hvc-version"> version</li>\n\n        </ul>\n    </div>\n\n\n</div>\n\n<style type="text/css">\n    .h5-player-ui .hvc-muted-panel .mapIcon{\n        display: inline-block;\n        width: 42px;\n        height: 42px;\n\n\n        text-align: center;\n        vertical-align: middle;\n\n\n        background:url(\'\')  no-repeat  center;\n\n    }\n    .h5-player-ui .hvc-muted-panel .mapTitle{\n\n        vertical-align: middle;\n        margin: 0 10px 0 0px;\n        font-size: 14px;\n    }\n\n    .h5-player-ui .hvc-muted-panel{\n        display:none;\n        position:absolute;\n        white-space: nowrap;\n        text-align: center;\n        vertical-align: middle;\n        line-height:50px;\n        top:50%;\n        /*margin-top: -100px;*/\n        left:50%;\n        user-select: none;\n        /*padding: 0 20px;*/\n        margin-left:-162px;\n        /*line-height: 50px;*/\n        width:324px;\n        height:50px;\n        border:0px solid #f0f0f0;\n        border-radius:25px;\n        background-color:rgba(0,0,0,0.4);\n        color:#f0f0f0;\n\n        font-size: 14px;\n        z-index: 10;\n    }\n    .h5-player-ui .hvc-muted-panel .hvc-muted-button:hover{\n        background-color: rgba(255,255,255,0.3);\n    }\n\n\n    .h5-player-ui{\n        width: 100%;\n        height: 100%;\n    }\n    /*------------- bg --------------*/\n    .h5-player-ui .h5-video-bg {\n        width: 100%;\n        height: 100%;\n\n        filter: blur(10px) brightness(0.5);\n        -webkit-filter: blur(10px) brightness(0.5);  /* chrome, opera */\n        -ms-filter: blur(10px) brightness(0.5);\n        -moz-filter: blur(10px) brightness(0.5);\n        overflow: hidden;\n\n    }\n\n    .h5-video-bg {\n        width: 100%;\n        height: 100%;\n\n        filter: blur(10px) brightness(0.5);\n        -webkit-filter: blur(10px) brightness(0.5);  /* chrome, opera */\n        -ms-filter: blur(10px) brightness(0.5);\n        -moz-filter: blur(10px) brightness(0.5);\n        overflow: hidden;\n\n    }\n\n\n    /*------------- 中间按钮 --------------*/\n    .h5-player-ui .hvc-middle-panel{\n        position: absolute;\n        width: 180px;\n        height: 50px;\n        top:50%;\n        left:50%;\n        margin-top: -40px;\n        margin-left:-90px;\n        cursor: pointer;\n    }\n    .h5-player-ui .hvc-enterRoom-button{\n        margin: 8px 20px 0px 0;\n\n        text-decoration: none;\n        outline:none;\n        width: 100px;\n        height: 22px;\n        line-height: 22px;\n        cursor: pointer;\n        text-align: center;\n\n        background:  #ff454a;\n\n\n        border-radius: 12px;\n        border: 0;\n        border-style: solid;\n\n        font-family: "Microsoft YaHei",微软雅黑,"MicrosoftJhengHei","Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n        font-size: 12px;\n        color: white;\n    }\n    .h5-player-ui .hvc-enterRoom-button:hover{\n        background: rgba(255, 69, 74, 0.79);\n    }\n\n    .h5-player-ui .hvc-middleButton{\n        position: absolute;\n        top:0px;\n        left: 0px;\n        width: 180px;\n        height: 50px;\n        text-decoration: none;\n        text-align: center;\n        cursor: pointer;\n        outline:none;\n\n\n        border: none;\n\n        transition-duration: .3s;\n\n        background: rgba(28,28,28,0.1);\n        border-color: #ff454a;\n\n        border-radius: 6px;\n        border-width: 1px;\n        border-style: solid;\n\n        font-family: "Microsoft YaHei",微软雅黑,"MicrosoftJhengHei","Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n        font-size: 18px;\n        height: 50px;\n        line-height: 50px;\n        color: #ff454a;\n    }\n    .h5-player-ui .hvc-middleButton span{\n\n    }\n    .h5-player-ui .hvc-middleButton span{\n        display:inline-block;\n        width: 20px;\n        height: 20px;\n        vertical-align: middle;\n        background:url(\'\') no-repeat;\n    }\n    .h5-player-ui .hvc-middleButton:hover > span{\n        background: url("") no-repeat;\n    }\n    .h5-player-ui .hvc-middleButton:hover{\n        background-color: #ff454a; /* Green */\n         color: white;\n    }\n\n    /*--------- 静音面板-------------------*/\n    .h5-player-ui .hvc-muted-tag{\n        display: block;\n        position:absolute;\n        top:-30px;\n        left: 50px;\n        z-index: 50;\n\n        font-size: 12px;\n        font-weight: 500;\n        line-height: 15px;\n        color: #f0f0f0;\n        background-color: rgba(28,28,28,0.9);\n        border-radius: 2px;\n        padding: 5px 9px;\n\n    }\n\n    .h5-player-ui .hvc-muted-panel .hvc-muted-button {\n\n        cursor: pointer;\n        width:100px;\n        height: 28px;\n\n        color: #fff;\n        background-color:rgba(0,0,0,0) ;\n        line-height: 24px;\n\n        border:2px solid #d2d2d2;\n        border-radius:14px;\n        display:inline-block;\n    }\n    .h5-player-ui .hvc-muted-panel .hvc-muted-button img{\n        cursor: pointer;\n    }\n\n\n\n\n    /*---------------- hvc-liveStatus ------------------*/\n    .h5-player-ui .hvc-liveStatus{\n        position: absolute;\n        top: 0;\n        left: 0;\n        width:100%;\n        height: 100%;\n\n        background-color: #333333;\n        color:#f0f0f0;\n        z-index: 9;\n\n    }\n    .h5-player-ui .hvc-liveStatus img{\n        position: relative;\n        text-align: center;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n\n        margin: auto;\n        font-size: 18px;\n\n    }\n    .h5-player-ui .hvc-liveStatus .content{\n        position: absolute;\n        width:250px;\n        height: 50px;\n        text-align: center;\n        top:45%;\n        margin-top: -25px;\n        left:50%;\n        margin-left:-125px;\n\n        /*//margin: auto;*/\n        font-size: 14px;\n\n    }\n\n\n    /*------------h5_video_contrl_panel---------------*/\n\n\n    /*---------------------------*/\n    .h5_video_contrl_panel {\n\n        width:100%;\n        height:38px;\n        position:absolute;\n        bottom:0;\n        left:0;\n    }\n\n    .hvc-contrlBg{\n\n        width:100%;\n        height:100%;\n        position:absolute;\n        bottom:0;\n        left:0;\n        background:black;\n        filter:alpha(opacity:70); opacity:0.7;\n    }\n    .hvc-controlBar{\n        width:100%;\n        height:50px;\n        bottom:30px;\n        left:0;\n        background:red;\n\n    }\n    .h5_video_contrl_panel  a{\n        text-decoration:none;\n    }\n\n    .h5_video_contrl_panel a, .h5_video_contrl_panel span, .h5_video_contrl_panel p{\n        margin:0;\n        padding:0;\n        display:block;\n    }\n\n    .h5_video_contrl_panel .hvc-left{\n\n        height:30px;\n        float:left;\n        position:relative;\n    }\n    .h5_video_contrl_panel .hvc-play,\n    .h5_video_contrl_panel .hvc-pause{\n        width:32px;\n        height:32px;\n        border: none;\n        background-color: transparent;\n        opacity:.9;\n        position:absolute;\n        padding: 0;\n        top:4px;\n        left:4px;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-play{\n        background:url(\'\')  no-repeat;;\n    }\n    .h5_video_contrl_panel .hvc-pause{\n        background:url(\'\')  no-repeat;\n    }\n    .h5_video_contrl_panel .hvc-play:hover,\n    .h5_video_contrl_panel .hvc-pause:hover{\n        opacity:1;\n    }\n    /*---------------- 声音 ------------------*/\n    .h5_video_contrl_panel .hvc-muted{\n        background:url(\'\')  no-repeat;\n        /*background:url(\'data:image/svg+xml;utf8,<svg  xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 36 36"> <path fill="#fff"  d="m 21.48,17.98 c 0,-1.77 -1.02,-3.29 -2.5,-4.03 v 2.21 l 2.45,2.45 c .03,-0.2 .05,-0.41 .05,-0.63 z m 2.5,0 c 0,.94 -0.2,1.82 -0.54,2.64 l 1.51,1.51 c .66,-1.24 1.03,-2.65 1.03,-4.15 0,-4.28 -2.99,-7.86 -7,-8.76 v 2.05 c 2.89,.86 5,3.54 5,6.71 z M 9.25,8.98 l -1.27,1.26 4.72,4.73 H 7.98 v 6 H 11.98 l 5,5 v -6.73 l 4.25,4.25 c -0.67,.52 -1.42,.93 -2.25,1.18 v 2.06 c 1.38,-0.31 2.63,-0.95 3.69,-1.81 l 2.04,2.05 1.27,-1.27 -9,-9 -7.72,-7.72 z m 7.72,.99 -2.09,2.08 2.09,2.09 V 9.98 z" /></svg>\')  no-repeat;*/\n    }\n    .h5_video_contrl_panel .hvc-voice{\n        background:url(\'\')  no-repeat;;\n        /*background:url(\'data:image/svg+xml;utf8,<svg  xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 36 36"> <path fill="#fff" d="M8,21 L12,21 L17,26 L17,10 L12,15 L8,15 L8,21 Z M19,14 L19,22 C20.48,21.32 21.5,19.77 21.5,18 C21.5,16.26 20.48,14.74 19,14 ZM19,11.29 C21.89,12.15 24,14.83 24,18 C24,21.17 21.89,23.85 19,24.71 L19,26.77 C23.01,25.86 26,22.28 26,18 C26,13.72 23.01,10.14 19,9.23 L19,11.29 Z" /> </svg>\')  no-repeat;*/\n    }\n    .h5_video_contrl_panel .hvc-voice,\n    .h5_video_contrl_panel .hvc-muted{\n        width:32px;\n        height:32px;\n        border: none;\n        background-color: transparent;\n        opacity:.9;\n        position:absolute;\n        padding: 0;\n        top:4px;\n        left:40px;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-voice:hover,\n    .h5_video_contrl_panel .hvc-mute-button:hover{\n        opacity:1;\n    }\n\n\n    .h5_video_contrl_panel .hvc-volume {\n        height:10px;\n        position:absolute;\n        left:72px;\n        top:19px;\n    }\n    .h5_video_contrl_panel .hvc-volume-handle {\n        width: 10px;\n        height: 10px;\n        background-color: #ccc;\n        position: absolute;\n        top: -3px;\n        left: 70px;\n        border-radius: 50%;\n        cursor:pointer;\n        z-index:3;\n    }\n    .h5_video_contrl_panel .hvc-volume-handle:hover{\n        background-color:#fff;\n    }\n    .h5_video_contrl_panel .hvc-max, .h5_video_contrl_panel .hvc-min{\n        width:80px;\n        height:2px;\n        position:absolute;\n        left:0;\n        top:1px;\n        background:#ccc;\n    }\n    .h5_video_contrl_panel .hvc-max {\n        width:0;\n        background:#ff454a;\n        z-index:2;\n    }\n    /*----------------  ------------------*/\n    .h5_video_contrl_panel .hvc-right{\n        margin-left: 170px;\n        width: 100px;\n        height:38px;\n        /*float:right;*/\n        position:relative;\n    }\n    /*---------------- 录制 ------------------*/\n    .h5_video_contrl_panel .hvc-recode{\n        float:right;\n        width: 30px;\n        height: 22px;\n        margin: 8px 10px 0 0;\n        border: 1px solid #5f5f5f;\n        border-radius: 3px;\n        background:url(\'\') no-repeat;\n        background-position:center;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-recode:hover{\n        border-color:#ccc;\n    }\n    /*---------------- 弹幕 ------------------*/\n    .h5_video_contrl_panel .hvc-danmu-control {\n        float:right;\n        width: 40px;\n        height: 16px;\n        border-radius: 10px;\n        overflow: hidden;\n        transform: rotate(0deg);\n        margin: 12px 15px 0 0;\n        position:relative;\n        cursor:pointer;\n    }\n\n\n    .h5_video_contrl_panel .hvc-on,\n    .h5_video_contrl_panel .hvc-off {\n        width: 40px;\n        height: 16px;\n        line-height: 16px;\n        color: #fff;\n        text-align:left;\n        background-color: #666;\n        font-size: 12px;\n        text-indent:1px;\n        position:absolute;\n        left:0;\n        top:0;\n    }\n    .h5_video_contrl_panel .hvc-on {\n        display:none;\n        background:#fd3000;\n        text-indent:20px;\n    }\n\n    .h5_video_contrl_panel .hvc-danmu-handle {\n        width: 16px;\n        height: 16px;\n        float: right;\n        border-radius: 50%;\n        background-color: #f0f0f0;\n        position:absolute;\n        right:0;\n        top:0;\n        z-index:2;\n    }\n\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-on{\n        display:block;\n    }\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-off{\n        display:none;\n    }\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-danmu-handle{\n        left:0;\n    }\n    .h5_video_contrl_panel .hvc-danmu-txt{\n        float:right;\n        width:40px;\n        height:16px;\n        font-size:12px;\n        color:#ccc;\n        text-align:right;\n        margin:12px 2px 0 0;\n    }\n    .noselect {\n\n        -webkit-touch-callout: none; /* iOS Safari */\n\n        -webkit-user-select: none; /* Chrome/Safari/Opera */\n\n        -khtml-user-select: none; /* Konqueror */\n\n        -moz-user-select: none; /* Firefox */\n\n        -ms-user-select: none; /* Internet Explorer/Edge */\n\n        user-select: none; /* Non-prefixed version, currently not supported by any browser */\n\n    }\n    /*---------------- 高清  ------------------*/\n    .h5_video_contrl_panel .hvc-definition{\n        display:none;\n\n        float:right;\n        width:40px;\n        height:22px;\n        font-size:12px;\n        color:#ccc;\n        margin:8px 18px 0 0;\n        position:relative;\n    }\n    .h5_video_contrl_panel .hvc-def-cur{\n        display:block;\n        border: 1px solid #5f5f5f;\n        border-radius: 3px;\n        text-align: center;\n        line-height: 22px;\n        width: 40px;\n        height: 22px;\n        color: #ccc;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-def-cur:hover{\n        border-color:#ccc;\n    }\n\n    .h5_video_contrl_panel .hvc-definition span{\n        display:none;\n        width:50px;\n        text-align:center;\n        background:black;\n        background-color:rgba(0,0,0,0.7);\n        position:absolute;\n        left:-4px;\n        top:-61px;\n    }\n    .h5_video_contrl_panel .hvc-definition span a{\n        height:26px;\n        line-height:26px;\n        color:white;\n    }\n    .h5_video_contrl_panel .hvc-definition span a.on,\n    .h5_video_contrl_panel .hvc-definition span a:hover{\n        background: #707070;\n        color:#ccc;\n        cursor:pointer;\n    }\n\n\n    .h5_video_contrl_panel .hvc-lines{\n        display:none;\n\n        float:right;\n        width:40px;\n        height:22px;\n        font-size:12px;\n        color:#ccc;\n        margin:8px 4px 0 0;\n        position:relative;\n    }\n    .h5_video_contrl_panel .hvc-line-cur{\n        display:block;\n        border: 1px solid #5f5f5f;\n        border-radius: 3px;\n        text-align: center;\n        line-height: 22px;\n        width: 40px;\n        height: 22px;\n        color: #ccc;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-line-cur:hover{\n        border-color:#ccc;\n    }\n\n    .h5_video_contrl_panel .hvc-lines span{\n        display:none;\n        width:50px;\n        text-align:center;\n        background:black;\n        background-color:rgba(0,0,0,0.7);\n        position:absolute;\n        left:-2px;\n        top:-61px;\n    }\n    .h5_video_contrl_panel .hvc-lines span a{\n        height:26px;\n        line-height:26px;\n        color:white;\n    }\n    .h5_video_contrl_panel .hvc-lines span a.on,\n    .h5_video_contrl_panel .hvc-lines span a:hover{\n        background:#999;\n        color:#ccc;\n        cursor:pointer;\n    }\n    /*---------------- tip ------------------*/\n    .h5_video_contrl_panel .hvc-tooltips{\n        display: block;\n        position:absolute;\n        top:-30px;\n        z-index: 50;\n\n        font-size: 12px;\n        font-weight: 500;\n        line-height: 15px;\n        color: #f0f0f0;\n        background-color: rgba(28,28,28,0.9);\n        border-radius: 2px;\n        padding: 5px 9px;\n    }\n    /*----------------右键------------------*/\n\n    .hvc-contextMenu{\n        font-size: 12px;\n    }\n    /*-------------*/\n    .h5-player-ui .h5-player{\n        position: relative;\n    }\n\n    .h5-player-ui .ytp-svg-fill {\n        fill: #fff;\n    }\n    /*--------------- h5-logger -----------*/\n    .h5-logger{\n        display: none;\n\n        position: absolute;\n        right: 10px;\n        top: 10px;\n        background: rgba(28, 28, 28, 0.8);\n        border-radius: 4px;\n        font-family: "Noto Sans CJK SC DemiLight", Roboto, "Segoe UI", Tahoma, Arial, Helvetica, sans-serif;\n        padding: 15px 0 15px 15px;\n        width: 420px;\n        height: 310px;\n\n    }\n    .h5-logger .loggerclose{\n        position: absolute;\n        right: 15px;\n        top: 10px;\n        z-index: 11;\n        color: #ddd;\n        font-size: 13px;\n    }\n    .h5-logger .h5-logger-connect{\n        /*overflow: hidden;*/\n        direction: ltr;\n        /*width: 230px;*/\n        overflow-y: scroll;\n\n        /*overflow-x: scroll;*/\n        height: 310px;\n    }\n    .h5-logger .h5-logger-connect p{\n        color: #fff;\n\n        overflow-x: scroll;\n        font-size: 12px;\n        line-height: 18px;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        margin: 0;\n    }\n\n</style>\n\n'
    }, function (e, t) {
        e.exports = '\x3c!--<div class="h5-video-bg">--\x3e\n    \x3c!--<img src="https://vi0.xiu123.cn/live/2019/05/26/17/1010v1558864140288675117_b.jpg"/>--\x3e\n\x3c!--</div>--\x3e\n\n<div class="h5-player-ui">\n    \x3c!------------- loading --------------------\x3e\n    \x3c!--<img class="h5-player-loading">--\x3e\n    \x3c!------------- bg --------------------\x3e\n    \x3c!--<img class="h5-video-bg" style="width: 100%;height: 100%;" src=""/>--\x3e\n    \x3c!------------- controlBar ------------\x3e\n    <div class="h5_video_contrl_panel">\n        <div class="hvc-contrlBg"></div>\n\n        <div class="hvc-left">\n            <a class="hvc-pause"></a>\n            <a class="hvc-voice"></a>\n\n            <p class="hvc-volume">\n                <a class="hvc-volume-handle"></a>\n                <span class="hvc-max"></span>\n                <span class="hvc-min"></span>\n            </p>\n        </div>\n        <div class="hvc-right">\n            <a class="hvc-enterRoom-button" href="#"  target="_blank">进入直播间 >></a>\n        </div>\n    </div>\n    \x3c!-- -------- liveStatus ------------ --\x3e\n    <div class="hvc-liveStatus" >\n        <div class="content">\n            <div>\n                <img style="text-align: center;margin-bottom: 10px" src="https://vr0.6rooms.com/imges/room2016/sk1/logo-v4.png">\n            </div>\n            <span>...</span>\n        </div>\n    </div>\n\n    \x3c!-- -------- 已为您静音 ------------ --\x3e\n    <div class="hvc-muted-panel" style="display: none">\n        <div class="arrow" style="margin-top:40px;margin-bottom: 15px">已为您静音，请点击开启</div>\n        <div class="hvc-muted-button" >\n            <img src="//vr0.6rooms.com/tao/i/p3/7d1647dba91c7b5ff9def528af1576cb.png">\n        </div>\n    </div>\n    \x3c!-- -------- 中间按钮 ------------ --\x3e\n    <div class="hvc-middle-panel">\n        <a class="hvc-middleButton hvc-middleEnter-button" target="_blank">进入直播间</a>\n        <button class="hvc-middleButton hvc-middlePlay-button">继续播放<span></span></button>\n    </div>\n    \x3c!-- -------- 右键 ------------ --\x3e\n    <div class="hvc-contextMenu" id="hvc-myMenu1">\n        <ul>\n            <li id="hvc-h5player"> h5player</li>\n            \x3c!--<li id="hvc-toFlash"> 切换flash播放器</li>--\x3e\n            <li id="hvc-version"> version</li>\n        </ul>\n    </div>\n\n\n</div>\n\n<style type="text/css">\n    /*------------- bg --------------*/\n    /*.h5-player .h5-video-bg{*/\n        /*width: 100%;*/\n        /*height: 100%;*/\n        /*background: #333333*/\n        /*}*/\n    .h5-player-ui .h5-video-bg {\n        width: 100%;\n        height: 100%;\n\n        filter: blur(10px) brightness(0.5);\n        -webkit-filter: blur(10px) brightness(0.5);  /* chrome, opera */\n        -ms-filter: blur(10px) brightness(0.5);\n        -moz-filter: blur(10px) brightness(0.5);\n\n    }\n    .h5-video-bg {\n        width: 100%;\n        height: 100%;\n\n        filter: blur(10px) brightness(0.5);\n        -webkit-filter: blur(10px) brightness(0.5);  /* chrome, opera */\n        -ms-filter: blur(10px) brightness(0.5);\n        -moz-filter: blur(10px) brightness(0.5);\n        overflow: hidden;\n\n    }\n    /*------------- 中间按钮 --------------*/\n    .h5-player-ui .hvc-middle-panel{\n        position: absolute;\n        width: 180px;\n        height: 50px;\n        top:50%;\n        left:50%;\n        margin-top: -40px;\n        margin-left:-90px;\n        cursor: pointer;\n    }\n    .h5-player-ui .hvc-enterRoom-button{\n        margin: 8px 20px 0px 0;\n\n        text-decoration: none;\n        outline:none;\n        width: 100px;\n        height: 22px;\n        line-height: 22px;\n        cursor: pointer;\n        text-align: center;\n\n        background:  #ff454a;\n\n\n        border-radius: 12px;\n        border: 0;\n        border-style: solid;\n\n        font-family: "Microsoft YaHei",微软雅黑,"MicrosoftJhengHei","Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n        font-size: 12px;\n        color: white;\n    }\n    .h5-player-ui .hvc-enterRoom-button:hover{\n        background: rgba(255, 69, 74, 0.79);\n    }\n\n    .h5-player-ui .hvc-middleButton{\n        position: absolute;\n        top:0px;\n        left: 0px;\n        width: 180px;\n        height: 50px;\n        text-decoration: none;\n        text-align: center;\n        cursor: pointer;\n        outline:none;\n\n\n        border: none;\n\n        transition-duration: .3s;\n\n        background: rgba(28,28,28,0.1);\n        border-color: #ff454a;\n\n        border-radius: 6px;\n        border-width: 1px;\n        border-style: solid;\n\n        font-family: "Microsoft YaHei",微软雅黑,"MicrosoftJhengHei","Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n        font-size: 18px;\n        height: 50px;\n        line-height: 50px;\n        color: #ff454a;\n    }\n    .h5-player-ui .hvc-middleButton span{\n\n    }\n    .h5-player-ui .hvc-middleButton span{\n        display:inline-block;\n        width: 20px;\n        height: 20px;\n        vertical-align: middle;\n        background:url(\'\') no-repeat;\n    }\n    .h5-player-ui .hvc-middleButton:hover > span{\n        background: url("") no-repeat;\n    }\n    .h5-player-ui .hvc-middleButton:hover{\n        background-color: #ff454a; /* Green */\n         color: white;\n    }\n\n    /*--------- 静音面板-------------------*/\n    .h5-player-ui .hvc-muted-tag{\n        display: block;\n        position:absolute;\n        top:-30px;\n        left: 50px;\n        z-index: 1002;\n\n        font-size: 12px;\n        font-weight: 500;\n        line-height: 15px;\n        color: #f0f0f0;\n        background-color: rgba(28,28,28,0.9);\n        border-radius: 2px;\n        padding: 5px 9px;\n\n    }\n    .h5-player-ui .hvc-muted-panel{\n        position:absolute;\n        top:50%;\n        margin-top: -100px;\n        left:50%;\n        margin-left:-150px;\n\n        width:300px;\n        height:160px;\n        border:0px solid #f0f0f0;\n        border-radius:10px;\n        background-color:rgba(0,0,0,0.6);\n        color:#f0f0f0;\n        text-align:center;\n        font-size: 14px;\n\n        z-index: 10002;\n    }\n    .h5-player-ui .hvc-muted-panel .hvc-muted-button img{\n        cursor: pointer;\n    }\n    .h5-player-ui .hvc-muted-panel .hvc-muted-button img:hover{\n        background-color: rgba(255,255,255,0.3);\n    }\n\n\n\n    /*---------------- hvc-liveStatus ------------------*/\n    .h5-player-ui .hvc-liveStatus{\n        position: absolute;\n        top: 0;\n        left: 0;\n        width:100%;\n        height: 100%;\n\n        background-color: #333333;\n        color:#f0f0f0;\n        z-index: 100;\n\n    }\n    .h5-player-ui .hvc-liveStatus img{\n        position: relative;\n        text-align: center;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n\n        margin: auto;\n        font-size: 18px;\n\n    }\n    .h5-player-ui .hvc-liveStatus .content{\n        position: absolute;\n        width:250px;\n        height: 50px;\n        text-align: center;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n\n        margin: auto;\n        font-size: 14px;\n\n    }\n\n\n    /*---------------------------*/\n\n    .h5_video_contrl_panel .hvc-play,\n    .h5_video_contrl_panel .hvc-pause{\n        width:32px;\n        height:32px;\n        border: none;\n        background-color: transparent;\n        opacity:.9;\n        position:absolute;\n        padding: 0;\n        top:4px;\n        left:4px;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-play{\n        background:url(\'\')  no-repeat;;\n    }\n    .h5_video_contrl_panel .hvc-pause{\n        background:url(\'\')  no-repeat;\n    }\n    .h5_video_contrl_panel .hvc-play:hover,\n    .h5_video_contrl_panel .hvc-pause:hover{\n        opacity:1;\n    }\n    /*---------------------------*/\n    .h5_video_contrl_panel {\n\n        width:100%;\n        height:38px;\n        position:absolute;\n        bottom:0;\n        left:0;\n    }\n    .hvc-contrlBg{\n\n        width:100%;\n        height:100%;\n        position:absolute;\n        bottom:0;\n        left:0;\n        background:#060606;\n        filter:alpha(opacity:70); opacity:0.7;\n    }\n    .hvc-controlBar{\n        width:100%;\n        height:50px;\n        bottom:30px;\n        left:0;\n        background:red;\n\n    }\n    .h5_video_contrl_panel  a{\n        text-decoration:none;\n    }\n    .h5_video_contrl_panel a, .h5_video_contrl_panel span, .h5_video_contrl_panel p{\n        margin:0;\n        padding:0;\n        display:block;\n    }\n\n    .h5_video_contrl_panel .hvc-left{\n        height:30px;\n        float:left;\n        position:relative;\n    }\n    /*---------------- 声音 ------------------*/\n    .h5_video_contrl_panel .hvc-muted{\n        background:url(\'\')  no-repeat;\n        /*background:url(\'data:image/svg+xml;utf8,<svg  xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 36 36"> <path fill="#fff"  d="m 21.48,17.98 c 0,-1.77 -1.02,-3.29 -2.5,-4.03 v 2.21 l 2.45,2.45 c .03,-0.2 .05,-0.41 .05,-0.63 z m 2.5,0 c 0,.94 -0.2,1.82 -0.54,2.64 l 1.51,1.51 c .66,-1.24 1.03,-2.65 1.03,-4.15 0,-4.28 -2.99,-7.86 -7,-8.76 v 2.05 c 2.89,.86 5,3.54 5,6.71 z M 9.25,8.98 l -1.27,1.26 4.72,4.73 H 7.98 v 6 H 11.98 l 5,5 v -6.73 l 4.25,4.25 c -0.67,.52 -1.42,.93 -2.25,1.18 v 2.06 c 1.38,-0.31 2.63,-0.95 3.69,-1.81 l 2.04,2.05 1.27,-1.27 -9,-9 -7.72,-7.72 z m 7.72,.99 -2.09,2.08 2.09,2.09 V 9.98 z" /></svg>\')  no-repeat;*/\n    }\n    .h5_video_contrl_panel .hvc-voice{\n        background:url(\'\')  no-repeat;;\n        /*background:url(\'data:image/svg+xml;utf8,<svg  xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 36 36"> <path fill="#fff" d="M8,21 L12,21 L17,26 L17,10 L12,15 L8,15 L8,21 Z M19,14 L19,22 C20.48,21.32 21.5,19.77 21.5,18 C21.5,16.26 20.48,14.74 19,14 ZM19,11.29 C21.89,12.15 24,14.83 24,18 C24,21.17 21.89,23.85 19,24.71 L19,26.77 C23.01,25.86 26,22.28 26,18 C26,13.72 23.01,10.14 19,9.23 L19,11.29 Z" /> </svg>\')  no-repeat;*/\n    }\n    .h5_video_contrl_panel .hvc-voice,\n    .h5_video_contrl_panel .hvc-muted{\n        width:32px;\n        height:32px;\n        border: none;\n        background-color: transparent;\n        opacity:.9;\n        position:absolute;\n        padding: 0;\n        top:4px;\n        left:40px;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-voice:hover,\n    .h5_video_contrl_panel .hvc-mute-button:hover{\n        opacity:1;\n    }\n\n\n    .h5_video_contrl_panel .hvc-volume {\n        height:10px;\n        position:absolute;\n        left:72px;\n        top:19px;\n    }\n    .h5_video_contrl_panel .hvc-volume-handle {\n        width: 10px;\n        height: 10px;\n        background-color: #ccc;\n        position: absolute;\n        top: -3px;\n        left: 70px;\n        border-radius: 50%;\n        cursor:pointer;\n        z-index:3;\n    }\n    .h5_video_contrl_panel .hvc-volume-handle:hover{\n        background-color:#fff;\n    }\n    .h5_video_contrl_panel .hvc-max, .h5_video_contrl_panel .hvc-min{\n        width:80px;\n        height:2px;\n        position:absolute;\n        left:0;\n        top:1px;\n        background:#ccc;\n    }\n    .h5_video_contrl_panel .hvc-max {\n        width:0;\n        background:#ff454a;\n        z-index:2;\n    }\n    /*----------------  ------------------*/\n    .h5_video_contrl_panel .hvc-right{\n        height:38px;\n        float:right;\n        position:relative;\n    }\n    /*---------------- 录制 ------------------*/\n    .h5_video_contrl_panel .hvc-recode{\n        float:right;\n        width: 30px;\n        height: 22px;\n        margin: 9px 10px 0 0;\n        border: 1px solid #333;\n        border-radius: 3px;\n        background:url(\'\') no-repeat;\n        background-position:center;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-recode:hover{\n        border-color:#ccc;\n    }\n    /*---------------- 弹幕 ------------------*/\n    .h5_video_contrl_panel .hvc-danmu-control {\n        float:right;\n        width: 40px;\n        height: 16px;\n        border-radius: 10px;\n        overflow: hidden;\n        transform: rotate(0deg);\n        margin: 12px 15px 0 0;\n        position:relative;\n        cursor:pointer;\n    }\n\n\n    .h5_video_contrl_panel .hvc-on,\n    .h5_video_contrl_panel .hvc-off {\n        width: 40px;\n        height: 16px;\n        line-height: 16px;\n        color: #fff;\n        text-align:left;\n        background-color: #666;\n        font-size: 12px;\n        text-indent:1px;\n        position:absolute;\n        left:0;\n        top:0;\n    }\n    .h5_video_contrl_panel .hvc-on {\n        display:none;\n        background:#fd3000;\n        text-indent:20px;\n    }\n\n    .h5_video_contrl_panel .hvc-danmu-handle {\n        width: 16px;\n        height: 16px;\n        float: right;\n        border-radius: 50%;\n        background-color: #f0f0f0;\n        position:absolute;\n        right:0;\n        top:0;\n        z-index:2;\n    }\n\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-on{\n        display:block;\n    }\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-off{\n        display:none;\n    }\n    .h5_video_contrl_panel .hvc-danmu-control-on .hvc-danmu-handle{\n        left:0;\n    }\n    .h5_video_contrl_panel .hvc-danmu-txt{\n        float:right;\n        width:40px;\n        height:16px;\n        font-size:12px;\n        color:#ccc;\n        text-align:right;\n        margin:12px 2px 0 0;\n    }\n    .noselect {\n\n        -webkit-touch-callout: none; /* iOS Safari */\n\n        -webkit-user-select: none; /* Chrome/Safari/Opera */\n\n        -khtml-user-select: none; /* Konqueror */\n\n        -moz-user-select: none; /* Firefox */\n\n        -ms-user-select: none; /* Internet Explorer/Edge */\n\n        user-select: none; /* Non-prefixed version, currently not supported by any browser */\n\n    }\n    /*---------------- 高清  ------------------*/\n    .h5_video_contrl_panel .hvc-definition{\n        display:none;\n\n        float:right;\n        width:40px;\n        height:22px;\n        font-size:12px;\n        color:#ccc;\n        margin:8px 18px 0 0;\n        position:relative;\n    }\n    .h5_video_contrl_panel .hvc-def-cur{\n        display:block;\n        border: 1px solid #333;\n        border-radius: 3px;\n        text-align: center;\n        line-height: 22px;\n        width: 40px;\n        height: 22px;\n        color: #ccc;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-def-cur:hover{\n        border-color:#ccc;\n    }\n\n    .h5_video_contrl_panel .hvc-definition span{\n        display:none;\n        width:50px;\n        text-align:center;\n        background:black;\n        background-color:rgba(0,0,0,0.7);\n        position:absolute;\n        left:-4px;\n        top:-61px;\n    }\n    .h5_video_contrl_panel .hvc-definition span a{\n        height:26px;\n        line-height:26px;\n        color:white;\n    }\n    .h5_video_contrl_panel .hvc-definition span a.on,\n    .h5_video_contrl_panel .hvc-definition span a:hover{\n        background: #707070;\n        color:#ccc;\n        cursor:pointer;\n    }\n\n\n    .h5_video_contrl_panel .hvc-lines{\n        display:none;\n\n        float:right;\n        width:40px;\n        height:22px;\n        font-size:12px;\n        color:#ccc;\n        margin:8px 4px 0 0;\n        position:relative;\n    }\n    .h5_video_contrl_panel .hvc-line-cur{\n        display:block;\n        border: 1px solid #333;\n        border-radius: 3px;\n        text-align: center;\n        line-height: 22px;\n        width: 40px;\n        height: 22px;\n        color: #ccc;\n        cursor:pointer;\n    }\n    .h5_video_contrl_panel .hvc-line-cur:hover{\n        border-color:#ccc;\n    }\n\n    .h5_video_contrl_panel .hvc-lines span{\n        display:none;\n        width:50px;\n        text-align:center;\n        background:black;\n        background-color:rgba(0,0,0,0.7);\n        position:absolute;\n        left:-2px;\n        top:-61px;\n    }\n    .h5_video_contrl_panel .hvc-lines span a{\n        height:26px;\n        line-height:26px;\n        color:white;\n    }\n    .h5_video_contrl_panel .hvc-lines span a.on,\n    .h5_video_contrl_panel .hvc-lines span a:hover{\n        background:#999;\n        color:#ccc;\n        cursor:pointer;\n    }\n    /*---------------- tip ------------------*/\n    .hvc-tooltips{\n        display: block;\n        position:absolute;\n        top:-30px;\n        z-index: 1002;\n\n        font-size: 12px;\n        font-weight: 500;\n        line-height: 15px;\n        color: #f0f0f0;\n        background-color: rgba(28,28,28,0.9);\n        border-radius: 2px;\n        padding: 5px 9px;\n    }\n    /*----------------右键------------------*/\n\n    .hvc-contextMenu{\n        font-size: 12px;\n    }\n    /*-------------*/\n    .h5-player-ui .h5-player{\n        position: relative;\n    }\n\n    .h5-player-ui .ytp-svg-fill {\n        fill: #fff;\n    }\n\n</style>\n\n'
    }, function (e, t, n) {
        "use strict";
        e.exports = function (e, t, n, i) {
            var r = self || window;
            try {
                try {
                    var o;
                    try {
                        o = new r.Blob([e])
                    } catch (t) {
                        (o = new(r.BlobBuilder || r.WebKitBlobBuilder || r.MozBlobBuilder || r.MSBlobBuilder)).append(e), o = o.getBlob()
                    }
                    var a = r.URL || r.webkitURL,
                        s = a.createObjectURL(o),
                        u = new r[t](s, n);
                    return a.revokeObjectURL(s), u
                } catch (i) {
                    return new r[t]("data:application/javascript,".concat(encodeURIComponent(e)), n)
                }
            } catch (e) {
                if (!i) throw Error("Inline worker is not supported");
                return new r[t](i, n)
            }
        }
    }, function (e, t, n) {
        e.exports = n(318)
    }, function (e, t, n) {
        (function (t, n) {
            /*!
             * @overview es6-promise - a tiny implementation of Promises/A+.
             * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
             * @license   Licensed under MIT license
             *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
             * @version   v4.2.8+1e68dce6
             */
            var i;
            i = function () {
                "use strict";

                function e(e) {
                    return "function" == typeof e
                }
                var i = Array.isArray ? Array.isArray : function (e) {
                        return "[object Array]" === Object.prototype.toString.call(e)
                    },
                    r = 0,
                    o = void 0,
                    a = void 0,
                    s = function (e, t) {
                        p[r] = e, p[r + 1] = t, 2 === (r += 2) && (a ? a(_) : b())
                    },
                    u = "undefined" != typeof window ? window : void 0,
                    c = u || {},
                    l = c.MutationObserver || c.WebKitMutationObserver,
                    h = "undefined" == typeof self && void 0 !== t && "[object process]" === {}.toString.call(t),
                    f = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel;

                function d() {
                    var e = setTimeout;
                    return function () {
                        return e(_, 1)
                    }
                }
                var p = new Array(1e3);

                function _() {
                    for (var e = 0; e < r; e += 2)(0, p[e])(p[e + 1]), p[e] = void 0, p[e + 1] = void 0;
                    r = 0
                }
                var v, m, g, y, b = void 0;

                function E(e, t) {
                    var n = this,
                        i = new this.constructor(x);
                    void 0 === i[S] && C(i);
                    var r = n._state;
                    if (r) {
                        var o = arguments[r - 1];
                        s((function () {
                            return R(r, i, o, n._result)
                        }))
                    } else T(n, i, e, t);
                    return i
                }

                function w(e) {
                    if (e && "object" == typeof e && e.constructor === this) return e;
                    var t = new this(x);
                    return k(t, e), t
                }
                h ? b = function () {
                    return t.nextTick(_)
                } : l ? (m = 0, g = new l(_), y = document.createTextNode(""), g.observe(y, {
                    characterData: !0
                }), b = function () {
                    y.data = m = ++m % 2
                }) : f ? ((v = new MessageChannel).port1.onmessage = _, b = function () {
                    return v.port2.postMessage(0)
                }) : b = void 0 === u ? function () {
                    try {
                        var e = Function("return this")().require("vertx");
                        return void 0 !== (o = e.runOnLoop || e.runOnContext) ? function () {
                            o(_)
                        } : d()
                    } catch (e) {
                        return d()
                    }
                }() : d();
                var S = Math.random().toString(36).substring(2);

                function x() {}

                function L(t, n, i) {
                    n.constructor === t.constructor && i === E && n.constructor.resolve === w ? function (e, t) {
                        1 === t._state ? I(e, t._result) : 2 === t._state ? A(e, t._result) : T(t, void 0, (function (t) {
                            return k(e, t)
                        }), (function (t) {
                            return A(e, t)
                        }))
                    }(t, n) : void 0 === i ? I(t, n) : e(i) ? function (e, t, n) {
                        s((function (e) {
                            var i = !1,
                                r = function (e, t, n, i) {
                                    try {
                                        e.call(t, n, i)
                                    } catch (e) {
                                        return e
                                    }
                                }(n, t, (function (n) {
                                    i || (i = !0, t !== n ? k(e, n) : I(e, n))
                                }), (function (t) {
                                    i || (i = !0, A(e, t))
                                }), e._label);
                            !i && r && (i = !0, A(e, r))
                        }), e)
                    }(t, n, i) : I(t, n)
                }

                function k(e, t) {
                    if (e === t) A(e, new TypeError("You cannot resolve a promise with itself"));
                    else if (r = typeof (i = t), null === i || "object" !== r && "function" !== r) I(e, t);
                    else {
                        var n = void 0;
                        try {
                            n = t.then
                        } catch (t) {
                            return void A(e, t)
                        }
                        L(e, t, n)
                    }
                    var i, r
                }

                function M(e) {
                    e._onerror && e._onerror(e._result), D(e)
                }

                function I(e, t) {
                    void 0 === e._state && (e._result = t, e._state = 1, 0 !== e._subscribers.length && s(D, e))
                }

                function A(e, t) {
                    void 0 === e._state && (e._state = 2, e._result = t, s(M, e))
                }

                function T(e, t, n, i) {
                    var r = e._subscribers,
                        o = r.length;
                    e._onerror = null, r[o] = t, r[o + 1] = n, r[o + 2] = i, 0 === o && e._state && s(D, e)
                }

                function D(e) {
                    var t = e._subscribers,
                        n = e._state;
                    if (0 !== t.length) {
                        for (var i = void 0, r = void 0, o = e._result, a = 0; a < t.length; a += 3) i = t[a], r = t[a + n], i ? R(n, i, r, o) : r(o);
                        e._subscribers.length = 0
                    }
                }

                function R(t, n, i, r) {
                    var o = e(i),
                        a = void 0,
                        s = void 0,
                        u = !0;
                    if (o) {
                        try {
                            a = i(r)
                        } catch (e) {
                            u = !1, s = e
                        }
                        if (n === a) return void A(n, new TypeError("A promises callback cannot return that same promise."))
                    } else a = r;
                    void 0 !== n._state || (o && u ? k(n, a) : !1 === u ? A(n, s) : 1 === t ? I(n, a) : 2 === t && A(n, a))
                }
                var O = 0;

                function C(e) {
                    e[S] = O++, e._state = void 0, e._result = void 0, e._subscribers = []
                }
                var N = function () {
                        function e(e, t) {
                            this._instanceConstructor = e, this.promise = new e(x), this.promise[S] || C(this.promise), i(t) ? (this.length = t.length, this._remaining = t.length, this._result = new Array(this.length), 0 === this.length ? I(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(t), 0 === this._remaining && I(this.promise, this._result))) : A(this.promise, new Error("Array Methods must be provided an Array"))
                        }
                        return e.prototype._enumerate = function (e) {
                            for (var t = 0; void 0 === this._state && t < e.length; t++) this._eachEntry(e[t], t)
                        }, e.prototype._eachEntry = function (e, t) {
                            var n = this._instanceConstructor,
                                i = n.resolve;
                            if (i === w) {
                                var r = void 0,
                                    o = void 0,
                                    a = !1;
                                try {
                                    r = e.then
                                } catch (e) {
                                    a = !0, o = e
                                }
                                if (r === E && void 0 !== e._state) this._settledAt(e._state, t, e._result);
                                else if ("function" != typeof r) this._remaining--, this._result[t] = e;
                                else if (n === j) {
                                    var s = new n(x);
                                    a ? A(s, o) : L(s, e, r), this._willSettleAt(s, t)
                                } else this._willSettleAt(new n((function (t) {
                                    return t(e)
                                })), t)
                            } else this._willSettleAt(i(e), t)
                        }, e.prototype._settledAt = function (e, t, n) {
                            var i = this.promise;
                            void 0 === i._state && (this._remaining--, 2 === e ? A(i, n) : this._result[t] = n), 0 === this._remaining && I(i, this._result)
                        }, e.prototype._willSettleAt = function (e, t) {
                            var n = this;
                            T(e, void 0, (function (e) {
                                return n._settledAt(1, t, e)
                            }), (function (e) {
                                return n._settledAt(2, t, e)
                            }))
                        }, e
                    }(),
                    j = function () {
                        function t(e) {
                            this[S] = O++, this._result = this._state = void 0, this._subscribers = [], x !== e && ("function" != typeof e && function () {
                                throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
                            }(), this instanceof t ? function (e, t) {
                                try {
                                    t((function (t) {
                                        k(e, t)
                                    }), (function (t) {
                                        A(e, t)
                                    }))
                                } catch (t) {
                                    A(e, t)
                                }
                            }(this, e) : function () {
                                throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
                            }())
                        }
                        return t.prototype.catch = function (e) {
                            return this.then(null, e)
                        }, t.prototype.finally = function (t) {
                            var n = this.constructor;
                            return e(t) ? this.then((function (e) {
                                return n.resolve(t()).then((function () {
                                    return e
                                }))
                            }), (function (e) {
                                return n.resolve(t()).then((function () {
                                    throw e
                                }))
                            })) : this.then(t, t)
                        }, t
                    }();
                return j.prototype.then = E, j.all = function (e) {
                    return new N(this, e).promise
                }, j.race = function (e) {
                    var t = this;
                    return i(e) ? new t((function (n, i) {
                        for (var r = e.length, o = 0; o < r; o++) t.resolve(e[o]).then(n, i)
                    })) : new t((function (e, t) {
                        return t(new TypeError("You must pass an array to race."))
                    }))
                }, j.resolve = w, j.reject = function (e) {
                    var t = new this(x);
                    return A(t, e), t
                }, j._setScheduler = function (e) {
                    a = e
                }, j._setAsap = function (e) {
                    s = e
                }, j._asap = s, j.polyfill = function () {
                    var e = void 0;
                    if (void 0 !== n) e = n;
                    else if ("undefined" != typeof self) e = self;
                    else try {
                        e = Function("return this")()
                    } catch (e) {
                        throw new Error("polyfill failed because global object is unavailable in this environment")
                    }
                    var t = e.Promise;
                    if (t) {
                        var i = null;
                        try {
                            i = Object.prototype.toString.call(t.resolve())
                        } catch (e) {}
                        if ("[object Promise]" === i && !t.cast) return
                    }
                    e.Promise = j
                }, j.Promise = j, j
            }, e.exports = i()
        }).call(this, n(129), n(89))
    }, function (e, t) {
        var n, i, r = e.exports = {};

        function o() {
            throw new Error("setTimeout has not been defined")
        }

        function a() {
            throw new Error("clearTimeout has not been defined")
        }

        function s(e) {
            if (n === setTimeout) return setTimeout(e, 0);
            if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0);
            try {
                return n(e, 0)
            } catch (t) {
                try {
                    return n.call(null, e, 0)
                } catch (t) {
                    return n.call(this, e, 0)
                }
            }
        }! function () {
            try {
                n = "function" == typeof setTimeout ? setTimeout : o
            } catch (e) {
                n = o
            }
            try {
                i = "function" == typeof clearTimeout ? clearTimeout : a
            } catch (e) {
                i = a
            }
        }();
        var u, c = [],
            l = !1,
            h = -1;

        function f() {
            l && u && (l = !1, u.length ? c = u.concat(c) : h = -1, c.length && d())
        }

        function d() {
            if (!l) {
                var e = s(f);
                l = !0;
                for (var t = c.length; t;) {
                    for (u = c, c = []; ++h < t;) u && u[h].run();
                    h = -1, t = c.length
                }
                u = null, l = !1,
                    function (e) {
                        if (i === clearTimeout) return clearTimeout(e);
                        if ((i === a || !i) && clearTimeout) return i = clearTimeout, clearTimeout(e);
                        try {
                            i(e)
                        } catch (t) {
                            try {
                                return i.call(null, e)
                            } catch (t) {
                                return i.call(this, e)
                            }
                        }
                    }(e)
            }
        }

        function p(e, t) {
            this.fun = e, this.array = t
        }

        function _() {}
        r.nextTick = function (e) {
            var t = new Array(arguments.length - 1);
            if (arguments.length > 1)
                for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
            c.push(new p(e, t)), 1 !== c.length || l || s(d)
        }, p.prototype.run = function () {
            this.fun.apply(null, this.array)
        }, r.title = "browser", r.browser = !0, r.env = {}, r.argv = [], r.version = "", r.versions = {}, r.on = _, r.addListener = _, r.once = _, r.off = _, r.removeListener = _, r.removeAllListeners = _, r.emit = _, r.prependListener = _, r.prependOnceListener = _, r.listeners = function (e) {
            return []
        }, r.binding = function (e) {
            throw new Error("process.binding is not supported")
        }, r.cwd = function () {
            return "/"
        }, r.chdir = function (e) {
            throw new Error("process.chdir is not supported")
        }, r.umask = function () {
            return 0
        }
    }, function (e, t) {
        var n = arguments[3],
            i = arguments[4],
            r = arguments[5],
            o = JSON.stringify;
        e.exports = function (e, t) {
            for (var a, s = Object.keys(r), u = 0, c = s.length; u < c; u++) {
                var l = s[u],
                    h = r[l].exports;
                if (h === e || h && h.default === e) {
                    a = l;
                    break
                }
            }
            if (!a) {
                a = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);
                var f = {};
                for (u = 0, c = s.length; u < c; u++) {
                    f[l = s[u]] = l
                }
                i[a] = ["function(require,module,exports){" + e + "(self); }", f]
            }
            var d = Math.floor(Math.pow(16, 8) * Math.random()).toString(16),
                p = {};
            p[a] = a, i[d] = ["function(require,module,exports){var f = require(" + o(a) + ");(f.default ? f.default : f)(self);}", p];
            var _ = {};
            ! function e(t) {
                for (var n in _[t] = !0, i[t][1]) {
                    var r = i[t][1][n];
                    _[r] || e(r)
                }
            }(d);
            var v = "(" + n + ")({" + Object.keys(_).map((function (e) {
                    return o(e) + ":[" + i[e][0] + "," + o(i[e][1]) + "]"
                })).join(",") + "},{},[" + o(d) + "])",
                m = window.URL || window.webkitURL || window.mozURL || window.msURL,
                g = new Blob([v], {
                    type: "text/javascript"
                });
            if (t && t.bare) return g;
            var y = m.createObjectURL(g),
                b = new Worker(y);
            return b.objectURL = y, b
        }
    }, function (e, t, n) {
        "use strict";
        n(132);
        var i, r = (i = n(304)) && i.__esModule ? i : {
            default: i
        };
        r.default._babelPolyfill && "undefined" != typeof console && console.warn && console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."), r.default._babelPolyfill = !0
    }, function (e, t, n) {
        "use strict";
        n(133), n(276), n(278), n(281), n(283), n(285), n(287), n(289), n(291), n(293), n(295), n(297), n(299), n(303)
    }, function (e, t, n) {
        n(134), n(137), n(138), n(139), n(140), n(141), n(142), n(143), n(144), n(145), n(146), n(147), n(148), n(149), n(150), n(151), n(152), n(153), n(154), n(155), n(156), n(157), n(158), n(159), n(160), n(161), n(162), n(163), n(164), n(165), n(166), n(167), n(168), n(169), n(170), n(171), n(172), n(173), n(174), n(175), n(176), n(177), n(178), n(180), n(181), n(182), n(183), n(184), n(185), n(186), n(187), n(188), n(189), n(190), n(191), n(192), n(193), n(194), n(195), n(196), n(197), n(198), n(199), n(200), n(201), n(202), n(203), n(204), n(205), n(206), n(207), n(208), n(209), n(210), n(211), n(212), n(213), n(215), n(216), n(218), n(219), n(220), n(221), n(222), n(223), n(224), n(226), n(227), n(228), n(229), n(230), n(231), n(232), n(233), n(234), n(235), n(236), n(237), n(238), n(81), n(239), n(110), n(240), n(111), n(241), n(242), n(243), n(244), n(112), n(247), n(248), n(249), n(250), n(251), n(252), n(253), n(254), n(255), n(256), n(257), n(258), n(259), n(260), n(261), n(262), n(263), n(264), n(265), n(266), n(267), n(268), n(269), n(270), n(271), n(272), n(273), n(274), n(275), e.exports = n(7)
    }, function (e, t, n) {
        "use strict";
        var i = n(1),
            r = n(14),
            o = n(8),
            a = n(0),
            s = n(12),
            u = n(28).KEY,
            c = n(2),
            l = n(49),
            h = n(39),
            f = n(30),
            d = n(5),
            p = n(62),
            _ = n(91),
            v = n(136),
            m = n(52),
            g = n(3),
            y = n(4),
            b = n(11),
            E = n(16),
            w = n(27),
            S = n(29),
            x = n(34),
            L = n(94),
            k = n(21),
            M = n(51),
            I = n(9),
            A = n(32),
            T = k.f,
            D = I.f,
            R = L.f,
            O = i.Symbol,
            C = i.JSON,
            N = C && C.stringify,
            j = d("_hidden"),
            P = d("toPrimitive"),
            B = {}.propertyIsEnumerable,
            U = l("symbol-registry"),
            F = l("symbols"),
            z = l("op-symbols"),
            V = Object.prototype,
            G = "function" == typeof O && !!M.f,
            H = i.QObject,
            W = !H || !H.prototype || !H.prototype.findChild,
            Y = o && c((function () {
                return 7 != x(D({}, "a", {
                    get: function () {
                        return D(this, "a", {
                            value: 7
                        }).a
                    }
                })).a
            })) ? function (e, t, n) {
                var i = T(V, t);
                i && delete V[t], D(e, t, n), i && e !== V && D(V, t, i)
            } : D,
            Z = function (e) {
                var t = F[e] = x(O.prototype);
                return t._k = e, t
            },
            Q = G && "symbol" == typeof O.iterator ? function (e) {
                return "symbol" == typeof e
            } : function (e) {
                return e instanceof O
            },
            K = function (e, t, n) {
                return e === V && K(z, t, n), g(e), t = w(t, !0), g(n), r(F, t) ? (n.enumerable ? (r(e, j) && e[j][t] && (e[j][t] = !1), n = x(n, {
                    enumerable: S(0, !1)
                })) : (r(e, j) || D(e, j, S(1, {})), e[j][t] = !0), Y(e, t, n)) : D(e, t, n)
            },
            J = function (e, t) {
                g(e);
                for (var n, i = v(t = E(t)), r = 0, o = i.length; o > r;) K(e, n = i[r++], t[n]);
                return e
            },
            X = function (e) {
                var t = B.call(this, e = w(e, !0));
                return !(this === V && r(F, e) && !r(z, e)) && (!(t || !r(this, e) || !r(F, e) || r(this, j) && this[j][e]) || t)
            },
            q = function (e, t) {
                if (e = E(e), t = w(t, !0), e !== V || !r(F, t) || r(z, t)) {
                    var n = T(e, t);
                    return !n || !r(F, t) || r(e, j) && e[j][t] || (n.enumerable = !0), n
                }
            },
            $ = function (e) {
                for (var t, n = R(E(e)), i = [], o = 0; n.length > o;) r(F, t = n[o++]) || t == j || t == u || i.push(t);
                return i
            },
            ee = function (e) {
                for (var t, n = e === V, i = R(n ? z : E(e)), o = [], a = 0; i.length > a;) !r(F, t = i[a++]) || n && !r(V, t) || o.push(F[t]);
                return o
            };
        G || (s((O = function () {
            if (this instanceof O) throw TypeError("Symbol is not a constructor!");
            var e = f(arguments.length > 0 ? arguments[0] : void 0),
                t = function (n) {
                    this === V && t.call(z, n), r(this, j) && r(this[j], e) && (this[j][e] = !1), Y(this, e, S(1, n))
                };
            return o && W && Y(V, e, {
                configurable: !0,
                set: t
            }), Z(e)
        }).prototype, "toString", (function () {
            return this._k
        })), k.f = q, I.f = K, n(35).f = L.f = $, n(46).f = X, M.f = ee, o && !n(31) && s(V, "propertyIsEnumerable", X, !0), p.f = function (e) {
            return Z(d(e))
        }), a(a.G + a.W + a.F * !G, {
            Symbol: O
        });
        for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ne = 0; te.length > ne;) d(te[ne++]);
        for (var ie = A(d.store), re = 0; ie.length > re;) _(ie[re++]);
        a(a.S + a.F * !G, "Symbol", {
            for: function (e) {
                return r(U, e += "") ? U[e] : U[e] = O(e)
            },
            keyFor: function (e) {
                if (!Q(e)) throw TypeError(e + " is not a symbol!");
                for (var t in U)
                    if (U[t] === e) return t
            },
            useSetter: function () {
                W = !0
            },
            useSimple: function () {
                W = !1
            }
        }), a(a.S + a.F * !G, "Object", {
            create: function (e, t) {
                return void 0 === t ? x(e) : J(x(e), t)
            },
            defineProperty: K,
            defineProperties: J,
            getOwnPropertyDescriptor: q,
            getOwnPropertyNames: $,
            getOwnPropertySymbols: ee
        });
        var oe = c((function () {
            M.f(1)
        }));
        a(a.S + a.F * oe, "Object", {
            getOwnPropertySymbols: function (e) {
                return M.f(b(e))
            }
        }), C && a(a.S + a.F * (!G || c((function () {
            var e = O();
            return "[null]" != N([e]) || "{}" != N({
                a: e
            }) || "{}" != N(Object(e))
        }))), "JSON", {
            stringify: function (e) {
                for (var t, n, i = [e], r = 1; arguments.length > r;) i.push(arguments[r++]);
                if (n = t = i[1], (y(t) || void 0 !== e) && !Q(e)) return m(t) || (t = function (e, t) {
                    if ("function" == typeof n && (t = n.call(this, e, t)), !Q(t)) return t
                }), i[1] = t, N.apply(C, i)
            }
        }), O.prototype[P] || n(15)(O.prototype, P, O.prototype.valueOf), h(O, "Symbol"), h(Math, "Math", !0), h(i.JSON, "JSON", !0)
    }, function (e, t, n) {
        e.exports = n(49)("native-function-to-string", Function.toString)
    }, function (e, t, n) {
        var i = n(32),
            r = n(51),
            o = n(46);
        e.exports = function (e) {
            var t = i(e),
                n = r.f;
            if (n)
                for (var a, s = n(e), u = o.f, c = 0; s.length > c;) u.call(e, a = s[c++]) && t.push(a);
            return t
        }
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Object", {
            create: n(34)
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S + i.F * !n(8), "Object", {
            defineProperty: n(9).f
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S + i.F * !n(8), "Object", {
            defineProperties: n(93)
        })
    }, function (e, t, n) {
        var i = n(16),
            r = n(21).f;
        n(22)("getOwnPropertyDescriptor", (function () {
            return function (e, t) {
                return r(i(e), t)
            }
        }))
    }, function (e, t, n) {
        var i = n(11),
            r = n(36);
        n(22)("getPrototypeOf", (function () {
            return function (e) {
                return r(i(e))
            }
        }))
    }, function (e, t, n) {
        var i = n(11),
            r = n(32);
        n(22)("keys", (function () {
            return function (e) {
                return r(i(e))
            }
        }))
    }, function (e, t, n) {
        n(22)("getOwnPropertyNames", (function () {
            return n(94).f
        }))
    }, function (e, t, n) {
        var i = n(4),
            r = n(28).onFreeze;
        n(22)("freeze", (function (e) {
            return function (t) {
                return e && i(t) ? e(r(t)) : t
            }
        }))
    }, function (e, t, n) {
        var i = n(4),
            r = n(28).onFreeze;
        n(22)("seal", (function (e) {
            return function (t) {
                return e && i(t) ? e(r(t)) : t
            }
        }))
    }, function (e, t, n) {
        var i = n(4),
            r = n(28).onFreeze;
        n(22)("preventExtensions", (function (e) {
            return function (t) {
                return e && i(t) ? e(r(t)) : t
            }
        }))
    }, function (e, t, n) {
        var i = n(4);
        n(22)("isFrozen", (function (e) {
            return function (t) {
                return !i(t) || !!e && e(t)
            }
        }))
    }, function (e, t, n) {
        var i = n(4);
        n(22)("isSealed", (function (e) {
            return function (t) {
                return !i(t) || !!e && e(t)
            }
        }))
    }, function (e, t, n) {
        var i = n(4);
        n(22)("isExtensible", (function (e) {
            return function (t) {
                return !!i(t) && (!e || e(t))
            }
        }))
    }, function (e, t, n) {
        var i = n(0);
        i(i.S + i.F, "Object", {
            assign: n(95)
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Object", {
            is: n(96)
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Object", {
            setPrototypeOf: n(66).set
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(47),
            r = {};
        r[n(5)("toStringTag")] = "z", r + "" != "[object z]" && n(12)(Object.prototype, "toString", (function () {
            return "[object " + i(this) + "]"
        }), !0)
    }, function (e, t, n) {
        var i = n(0);
        i(i.P, "Function", {
            bind: n(97)
        })
    }, function (e, t, n) {
        var i = n(9).f,
            r = Function.prototype,
            o = /^\s*function ([^ (]*)/;
        "name" in r || n(8) && i(r, "name", {
            configurable: !0,
            get: function () {
                try {
                    return ("" + this).match(o)[1]
                } catch (e) {
                    return ""
                }
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(4),
            r = n(36),
            o = n(5)("hasInstance"),
            a = Function.prototype;
        o in a || n(9).f(a, o, {
            value: function (e) {
                if ("function" != typeof this || !i(e)) return !1;
                if (!i(this.prototype)) return e instanceof this;
                for (; e = r(e);)
                    if (this.prototype === e) return !0;
                return !1
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(99);
        i(i.G + i.F * (parseInt != r), {
            parseInt: r
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(100);
        i(i.G + i.F * (parseFloat != r), {
            parseFloat: r
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(1),
            r = n(14),
            o = n(24),
            a = n(68),
            s = n(27),
            u = n(2),
            c = n(35).f,
            l = n(21).f,
            h = n(9).f,
            f = n(40).trim,
            d = i.Number,
            p = d,
            _ = d.prototype,
            v = "Number" == o(n(34)(_)),
            m = "trim" in String.prototype,
            g = function (e) {
                var t = s(e, !1);
                if ("string" == typeof t && t.length > 2) {
                    var n, i, r, o = (t = m ? t.trim() : f(t, 3)).charCodeAt(0);
                    if (43 === o || 45 === o) {
                        if (88 === (n = t.charCodeAt(2)) || 120 === n) return NaN
                    } else if (48 === o) {
                        switch (t.charCodeAt(1)) {
                            case 66:
                            case 98:
                                i = 2, r = 49;
                                break;
                            case 79:
                            case 111:
                                i = 8, r = 55;
                                break;
                            default:
                                return +t
                        }
                        for (var a, u = t.slice(2), c = 0, l = u.length; c < l; c++)
                            if ((a = u.charCodeAt(c)) < 48 || a > r) return NaN;
                        return parseInt(u, i)
                    }
                }
                return +t
            };
        if (!d(" 0o1") || !d("0b1") || d("+0x1")) {
            d = function (e) {
                var t = arguments.length < 1 ? 0 : e,
                    n = this;
                return n instanceof d && (v ? u((function () {
                    _.valueOf.call(n)
                })) : "Number" != o(n)) ? a(new p(g(t)), n, d) : g(t)
            };
            for (var y, b = n(8) ? c(p) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), E = 0; b.length > E; E++) r(p, y = b[E]) && !r(d, y) && h(d, y, l(p, y));
            d.prototype = _, _.constructor = d, n(12)(i, "Number", d)
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(20),
            o = n(101),
            a = n(69),
            s = 1..toFixed,
            u = Math.floor,
            c = [0, 0, 0, 0, 0, 0],
            l = "Number.toFixed: incorrect invocation!",
            h = function (e, t) {
                for (var n = -1, i = t; ++n < 6;) i += e * c[n], c[n] = i % 1e7, i = u(i / 1e7)
            },
            f = function (e) {
                for (var t = 6, n = 0; --t >= 0;) n += c[t], c[t] = u(n / e), n = n % e * 1e7
            },
            d = function () {
                for (var e = 6, t = ""; --e >= 0;)
                    if ("" !== t || 0 === e || 0 !== c[e]) {
                        var n = String(c[e]);
                        t = "" === t ? n : t + a.call("0", 7 - n.length) + n
                    } return t
            },
            p = function (e, t, n) {
                return 0 === t ? n : t % 2 == 1 ? p(e, t - 1, n * e) : p(e * e, t / 2, n)
            };
        i(i.P + i.F * (!!s && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== (0xde0b6b3a7640080).toFixed(0)) || !n(2)((function () {
            s.call({})
        }))), "Number", {
            toFixed: function (e) {
                var t, n, i, s, u = o(this, l),
                    c = r(e),
                    _ = "",
                    v = "0";
                if (c < 0 || c > 20) throw RangeError(l);
                if (u != u) return "NaN";
                if (u <= -1e21 || u >= 1e21) return String(u);
                if (u < 0 && (_ = "-", u = -u), u > 1e-21)
                    if (n = (t = function (e) {
                            for (var t = 0, n = e; n >= 4096;) t += 12, n /= 4096;
                            for (; n >= 2;) t += 1, n /= 2;
                            return t
                        }(u * p(2, 69, 1)) - 69) < 0 ? u * p(2, -t, 1) : u / p(2, t, 1), n *= 4503599627370496, (t = 52 - t) > 0) {
                        for (h(0, n), i = c; i >= 7;) h(1e7, 0), i -= 7;
                        for (h(p(10, i, 1), 0), i = t - 1; i >= 23;) f(1 << 23), i -= 23;
                        f(1 << i), h(1, 1), f(2), v = d()
                    } else h(0, n), h(1 << -t, 0), v = d() + a.call("0", c);
                return v = c > 0 ? _ + ((s = v.length) <= c ? "0." + a.call("0", c - s) + v : v.slice(0, s - c) + "." + v.slice(s - c)) : _ + v
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(2),
            o = n(101),
            a = 1..toPrecision;
        i(i.P + i.F * (r((function () {
            return "1" !== a.call(1, void 0)
        })) || !r((function () {
            a.call({})
        }))), "Number", {
            toPrecision: function (e) {
                var t = o(this, "Number#toPrecision: incorrect invocation!");
                return void 0 === e ? a.call(t) : a.call(t, e)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Number", {
            EPSILON: Math.pow(2, -52)
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(1).isFinite;
        i(i.S, "Number", {
            isFinite: function (e) {
                return "number" == typeof e && r(e)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Number", {
            isInteger: n(102)
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Number", {
            isNaN: function (e) {
                return e != e
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(102),
            o = Math.abs;
        i(i.S, "Number", {
            isSafeInteger: function (e) {
                return r(e) && o(e) <= 9007199254740991
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Number", {
            MAX_SAFE_INTEGER: 9007199254740991
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Number", {
            MIN_SAFE_INTEGER: -9007199254740991
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(100);
        i(i.S + i.F * (Number.parseFloat != r), "Number", {
            parseFloat: r
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(99);
        i(i.S + i.F * (Number.parseInt != r), "Number", {
            parseInt: r
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(103),
            o = Math.sqrt,
            a = Math.acosh;
        i(i.S + i.F * !(a && 710 == Math.floor(a(Number.MAX_VALUE)) && a(1 / 0) == 1 / 0), "Math", {
            acosh: function (e) {
                return (e = +e) < 1 ? NaN : e > 94906265.62425156 ? Math.log(e) + Math.LN2 : r(e - 1 + o(e - 1) * o(e + 1))
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = Math.asinh;
        i(i.S + i.F * !(r && 1 / r(0) > 0), "Math", {
            asinh: function e(t) {
                return isFinite(t = +t) && 0 != t ? t < 0 ? -e(-t) : Math.log(t + Math.sqrt(t * t + 1)) : t
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = Math.atanh;
        i(i.S + i.F * !(r && 1 / r(-0) < 0), "Math", {
            atanh: function (e) {
                return 0 == (e = +e) ? e : Math.log((1 + e) / (1 - e)) / 2
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(70);
        i(i.S, "Math", {
            cbrt: function (e) {
                return r(e = +e) * Math.pow(Math.abs(e), 1 / 3)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            clz32: function (e) {
                return (e >>>= 0) ? 31 - Math.floor(Math.log(e + .5) * Math.LOG2E) : 32
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = Math.exp;
        i(i.S, "Math", {
            cosh: function (e) {
                return (r(e = +e) + r(-e)) / 2
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(71);
        i(i.S + i.F * (r != Math.expm1), "Math", {
            expm1: r
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            fround: n(179)
        })
    }, function (e, t, n) {
        var i = n(70),
            r = Math.pow,
            o = r(2, -52),
            a = r(2, -23),
            s = r(2, 127) * (2 - a),
            u = r(2, -126);
        e.exports = Math.fround || function (e) {
            var t, n, r = Math.abs(e),
                c = i(e);
            return r < u ? c * (r / u / a + 1 / o - 1 / o) * u * a : (n = (t = (1 + a / o) * r) - (t - r)) > s || n != n ? c * (1 / 0) : c * n
        }
    }, function (e, t, n) {
        var i = n(0),
            r = Math.abs;
        i(i.S, "Math", {
            hypot: function (e, t) {
                for (var n, i, o = 0, a = 0, s = arguments.length, u = 0; a < s;) u < (n = r(arguments[a++])) ? (o = o * (i = u / n) * i + 1, u = n) : o += n > 0 ? (i = n / u) * i : n;
                return u === 1 / 0 ? 1 / 0 : u * Math.sqrt(o)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = Math.imul;
        i(i.S + i.F * n(2)((function () {
            return -5 != r(4294967295, 5) || 2 != r.length
        })), "Math", {
            imul: function (e, t) {
                var n = +e,
                    i = +t,
                    r = 65535 & n,
                    o = 65535 & i;
                return 0 | r * o + ((65535 & n >>> 16) * o + r * (65535 & i >>> 16) << 16 >>> 0)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            log10: function (e) {
                return Math.log(e) * Math.LOG10E
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            log1p: n(103)
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            log2: function (e) {
                return Math.log(e) / Math.LN2
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            sign: n(70)
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(71),
            o = Math.exp;
        i(i.S + i.F * n(2)((function () {
            return -2e-17 != !Math.sinh(-2e-17)
        })), "Math", {
            sinh: function (e) {
                return Math.abs(e = +e) < 1 ? (r(e) - r(-e)) / 2 : (o(e - 1) - o(-e - 1)) * (Math.E / 2)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(71),
            o = Math.exp;
        i(i.S, "Math", {
            tanh: function (e) {
                var t = r(e = +e),
                    n = r(-e);
                return t == 1 / 0 ? 1 : n == 1 / 0 ? -1 : (t - n) / (o(e) + o(-e))
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Math", {
            trunc: function (e) {
                return (e > 0 ? Math.floor : Math.ceil)(e)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(33),
            o = String.fromCharCode,
            a = String.fromCodePoint;
        i(i.S + i.F * (!!a && 1 != a.length), "String", {
            fromCodePoint: function (e) {
                for (var t, n = [], i = arguments.length, a = 0; i > a;) {
                    if (t = +arguments[a++], r(t, 1114111) !== t) throw RangeError(t + " is not a valid code point");
                    n.push(t < 65536 ? o(t) : o(55296 + ((t -= 65536) >> 10), t % 1024 + 56320))
                }
                return n.join("")
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(16),
            o = n(6);
        i(i.S, "String", {
            raw: function (e) {
                for (var t = r(e.raw), n = o(t.length), i = arguments.length, a = [], s = 0; n > s;) a.push(String(t[s++])), s < i && a.push(String(arguments[s]));
                return a.join("")
            }
        })
    }, function (e, t, n) {
        "use strict";
        n(40)("trim", (function (e) {
            return function () {
                return e(this, 3)
            }
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(72)(!0);
        n(73)(String, "String", (function (e) {
            this._t = String(e), this._i = 0
        }), (function () {
            var e, t = this._t,
                n = this._i;
            return n >= t.length ? {
                value: void 0,
                done: !0
            } : (e = i(t, n), this._i += e.length, {
                value: e,
                done: !1
            })
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(72)(!1);
        i(i.P, "String", {
            codePointAt: function (e) {
                return r(this, e)
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(6),
            o = n(74),
            a = "".endsWith;
        i(i.P + i.F * n(76)("endsWith"), "String", {
            endsWith: function (e) {
                var t = o(this, e, "endsWith"),
                    n = arguments.length > 1 ? arguments[1] : void 0,
                    i = r(t.length),
                    s = void 0 === n ? i : Math.min(r(n), i),
                    u = String(e);
                return a ? a.call(t, u, s) : t.slice(s - u.length, s) === u
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(74);
        i(i.P + i.F * n(76)("includes"), "String", {
            includes: function (e) {
                return !!~r(this, e, "includes").indexOf(e, arguments.length > 1 ? arguments[1] : void 0)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.P, "String", {
            repeat: n(69)
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(6),
            o = n(74),
            a = "".startsWith;
        i(i.P + i.F * n(76)("startsWith"), "String", {
            startsWith: function (e) {
                var t = o(this, e, "startsWith"),
                    n = r(Math.min(arguments.length > 1 ? arguments[1] : void 0, t.length)),
                    i = String(e);
                return a ? a.call(t, i, n) : t.slice(n, n + i.length) === i
            }
        })
    }, function (e, t, n) {
        "use strict";
        n(13)("anchor", (function (e) {
            return function (t) {
                return e(this, "a", "name", t)
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("big", (function (e) {
            return function () {
                return e(this, "big", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("blink", (function (e) {
            return function () {
                return e(this, "blink", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("bold", (function (e) {
            return function () {
                return e(this, "b", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("fixed", (function (e) {
            return function () {
                return e(this, "tt", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("fontcolor", (function (e) {
            return function (t) {
                return e(this, "font", "color", t)
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("fontsize", (function (e) {
            return function (t) {
                return e(this, "font", "size", t)
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("italics", (function (e) {
            return function () {
                return e(this, "i", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("link", (function (e) {
            return function (t) {
                return e(this, "a", "href", t)
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("small", (function (e) {
            return function () {
                return e(this, "small", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("strike", (function (e) {
            return function () {
                return e(this, "strike", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("sub", (function (e) {
            return function () {
                return e(this, "sub", "", "")
            }
        }))
    }, function (e, t, n) {
        "use strict";
        n(13)("sup", (function (e) {
            return function () {
                return e(this, "sup", "", "")
            }
        }))
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Date", {
            now: function () {
                return (new Date).getTime()
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(11),
            o = n(27);
        i(i.P + i.F * n(2)((function () {
            return null !== new Date(NaN).toJSON() || 1 !== Date.prototype.toJSON.call({
                toISOString: function () {
                    return 1
                }
            })
        })), "Date", {
            toJSON: function (e) {
                var t = r(this),
                    n = o(t);
                return "number" != typeof n || isFinite(n) ? t.toISOString() : null
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(214);
        i(i.P + i.F * (Date.prototype.toISOString !== r), "Date", {
            toISOString: r
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(2),
            r = Date.prototype.getTime,
            o = Date.prototype.toISOString,
            a = function (e) {
                return e > 9 ? e : "0" + e
            };
        e.exports = i((function () {
            return "0385-07-25T07:06:39.999Z" != o.call(new Date(-50000000000001))
        })) || !i((function () {
            o.call(new Date(NaN))
        })) ? function () {
            if (!isFinite(r.call(this))) throw RangeError("Invalid time value");
            var e = this,
                t = e.getUTCFullYear(),
                n = e.getUTCMilliseconds(),
                i = t < 0 ? "-" : t > 9999 ? "+" : "";
            return i + ("00000" + Math.abs(t)).slice(i ? -6 : -4) + "-" + a(e.getUTCMonth() + 1) + "-" + a(e.getUTCDate()) + "T" + a(e.getUTCHours()) + ":" + a(e.getUTCMinutes()) + ":" + a(e.getUTCSeconds()) + "." + (n > 99 ? n : "0" + a(n)) + "Z"
        } : o
    }, function (e, t, n) {
        var i = Date.prototype,
            r = i.toString,
            o = i.getTime;
        new Date(NaN) + "" != "Invalid Date" && n(12)(i, "toString", (function () {
            var e = o.call(this);
            return e == e ? r.call(this) : "Invalid Date"
        }))
    }, function (e, t, n) {
        var i = n(5)("toPrimitive"),
            r = Date.prototype;
        i in r || n(15)(r, i, n(217))
    }, function (e, t, n) {
        "use strict";
        var i = n(3),
            r = n(27);
        e.exports = function (e) {
            if ("string" !== e && "number" !== e && "default" !== e) throw TypeError("Incorrect hint");
            return r(i(this), "number" != e)
        }
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Array", {
            isArray: n(52)
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(18),
            r = n(0),
            o = n(11),
            a = n(105),
            s = n(77),
            u = n(6),
            c = n(78),
            l = n(79);
        r(r.S + r.F * !n(53)((function (e) {
            Array.from(e)
        })), "Array", {
            from: function (e) {
                var t, n, r, h, f = o(e),
                    d = "function" == typeof this ? this : Array,
                    p = arguments.length,
                    _ = p > 1 ? arguments[1] : void 0,
                    v = void 0 !== _,
                    m = 0,
                    g = l(f);
                if (v && (_ = i(_, p > 2 ? arguments[2] : void 0, 2)), null == g || d == Array && s(g))
                    for (n = new d(t = u(f.length)); t > m; m++) c(n, m, v ? _(f[m], m) : f[m]);
                else
                    for (h = g.call(f), n = new d; !(r = h.next()).done; m++) c(n, m, v ? a(h, _, [r.value, m], !0) : r.value);
                return n.length = m, n
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(78);
        i(i.S + i.F * n(2)((function () {
            function e() {}
            return !(Array.of.call(e) instanceof e)
        })), "Array", {
            of: function () {
                for (var e = 0, t = arguments.length, n = new("function" == typeof this ? this : Array)(t); t > e;) r(n, e, arguments[e++]);
                return n.length = t, n
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(16),
            o = [].join;
        i(i.P + i.F * (n(45) != Object || !n(17)(o)), "Array", {
            join: function (e) {
                return o.call(r(this), void 0 === e ? "," : e)
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(65),
            o = n(24),
            a = n(33),
            s = n(6),
            u = [].slice;
        i(i.P + i.F * n(2)((function () {
            r && u.call(r)
        })), "Array", {
            slice: function (e, t) {
                var n = s(this.length),
                    i = o(this);
                if (t = void 0 === t ? n : t, "Array" == i) return u.call(this, e, t);
                for (var r = a(e, n), c = a(t, n), l = s(c - r), h = new Array(l), f = 0; f < l; f++) h[f] = "String" == i ? this.charAt(r + f) : this[r + f];
                return h
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(19),
            o = n(11),
            a = n(2),
            s = [].sort,
            u = [1, 2, 3];
        i(i.P + i.F * (a((function () {
            u.sort(void 0)
        })) || !a((function () {
            u.sort(null)
        })) || !n(17)(s)), "Array", {
            sort: function (e) {
                return void 0 === e ? s.call(o(this)) : s.call(o(this), r(e))
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(0),
            o = n(17)([].forEach, !0);
        i(i.P + i.F * !o, "Array", {
            forEach: function (e) {
                return r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        var i = n(4),
            r = n(52),
            o = n(5)("species");
        e.exports = function (e) {
            var t;
            return r(e) && ("function" != typeof (t = e.constructor) || t !== Array && !r(t.prototype) || (t = void 0), i(t) && null === (t = t[o]) && (t = void 0)), void 0 === t ? Array : t
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(1);
        i(i.P + i.F * !n(17)([].map, !0), "Array", {
            map: function (e) {
                return r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(2);
        i(i.P + i.F * !n(17)([].filter, !0), "Array", {
            filter: function (e) {
                return r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(3);
        i(i.P + i.F * !n(17)([].some, !0), "Array", {
            some: function (e) {
                return r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(4);
        i(i.P + i.F * !n(17)([].every, !0), "Array", {
            every: function (e) {
                return r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(107);
        i(i.P + i.F * !n(17)([].reduce, !0), "Array", {
            reduce: function (e) {
                return r(this, e, arguments.length, arguments[1], !1)
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(107);
        i(i.P + i.F * !n(17)([].reduceRight, !0), "Array", {
            reduceRight: function (e) {
                return r(this, e, arguments.length, arguments[1], !0)
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(50)(!1),
            o = [].indexOf,
            a = !!o && 1 / [1].indexOf(1, -0) < 0;
        i(i.P + i.F * (a || !n(17)(o)), "Array", {
            indexOf: function (e) {
                return a ? o.apply(this, arguments) || 0 : r(this, e, arguments[1])
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(16),
            o = n(20),
            a = n(6),
            s = [].lastIndexOf,
            u = !!s && 1 / [1].lastIndexOf(1, -0) < 0;
        i(i.P + i.F * (u || !n(17)(s)), "Array", {
            lastIndexOf: function (e) {
                if (u) return s.apply(this, arguments) || 0;
                var t = r(this),
                    n = a(t.length),
                    i = n - 1;
                for (arguments.length > 1 && (i = Math.min(i, o(arguments[1]))), i < 0 && (i = n + i); i >= 0; i--)
                    if (i in t && t[i] === e) return i || 0;
                return -1
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.P, "Array", {
            copyWithin: n(108)
        }), n(37)("copyWithin")
    }, function (e, t, n) {
        var i = n(0);
        i(i.P, "Array", {
            fill: n(80)
        }), n(37)("fill")
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(5),
            o = !0;
        "find" in [] && Array(1).find((function () {
            o = !1
        })), i(i.P + i.F * o, "Array", {
            find: function (e) {
                return r(this, e, arguments.length > 1 ? arguments[1] : void 0)
            }
        }), n(37)("find")
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(23)(6),
            o = "findIndex",
            a = !0;
        o in [] && Array(1)[o]((function () {
            a = !1
        })), i(i.P + i.F * a, "Array", {
            findIndex: function (e) {
                return r(this, e, arguments.length > 1 ? arguments[1] : void 0)
            }
        }), n(37)(o)
    }, function (e, t, n) {
        n(42)("Array")
    }, function (e, t, n) {
        var i = n(1),
            r = n(68),
            o = n(9).f,
            a = n(35).f,
            s = n(75),
            u = n(54),
            c = i.RegExp,
            l = c,
            h = c.prototype,
            f = /a/g,
            d = /a/g,
            p = new c(f) !== f;
        if (n(8) && (!p || n(2)((function () {
                return d[n(5)("match")] = !1, c(f) != f || c(d) == d || "/a/i" != c(f, "i")
            })))) {
            c = function (e, t) {
                var n = this instanceof c,
                    i = s(e),
                    o = void 0 === t;
                return !n && i && e.constructor === c && o ? e : r(p ? new l(i && !o ? e.source : e, t) : l((i = e instanceof c) ? e.source : e, i && o ? u.call(e) : t), n ? this : h, c)
            };
            for (var _ = function (e) {
                    e in c || o(c, e, {
                        configurable: !0,
                        get: function () {
                            return l[e]
                        },
                        set: function (t) {
                            l[e] = t
                        }
                    })
                }, v = a(l), m = 0; v.length > m;) _(v[m++]);
            h.constructor = c, c.prototype = h, n(12)(i, "RegExp", c)
        }
        n(42)("RegExp")
    }, function (e, t, n) {
        "use strict";
        n(111);
        var i = n(3),
            r = n(54),
            o = n(8),
            a = /./.toString,
            s = function (e) {
                n(12)(RegExp.prototype, "toString", e, !0)
            };
        n(2)((function () {
            return "/a/b" != a.call({
                source: "a",
                flags: "b"
            })
        })) ? s((function () {
            var e = i(this);
            return "/".concat(e.source, "/", "flags" in e ? e.flags : !o && e instanceof RegExp ? r.call(e) : void 0)
        })) : "toString" != a.name && s((function () {
            return a.call(this)
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(3),
            r = n(6),
            o = n(83),
            a = n(55);
        n(56)("match", 1, (function (e, t, n, s) {
            return [function (n) {
                var i = e(this),
                    r = null == n ? void 0 : n[t];
                return void 0 !== r ? r.call(n, i) : new RegExp(n)[t](String(i))
            }, function (e) {
                var t = s(n, e, this);
                if (t.done) return t.value;
                var u = i(e),
                    c = String(this);
                if (!u.global) return a(u, c);
                var l = u.unicode;
                u.lastIndex = 0;
                for (var h, f = [], d = 0; null !== (h = a(u, c));) {
                    var p = String(h[0]);
                    f[d] = p, "" === p && (u.lastIndex = o(c, r(u.lastIndex), l)), d++
                }
                return 0 === d ? null : f
            }]
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(3),
            r = n(11),
            o = n(6),
            a = n(20),
            s = n(83),
            u = n(55),
            c = Math.max,
            l = Math.min,
            h = Math.floor,
            f = /\$([$&`']|\d\d?|<[^>]*>)/g,
            d = /\$([$&`']|\d\d?)/g;
        n(56)("replace", 2, (function (e, t, n, p) {
            return [function (i, r) {
                var o = e(this),
                    a = null == i ? void 0 : i[t];
                return void 0 !== a ? a.call(i, o, r) : n.call(String(o), i, r)
            }, function (e, t) {
                var r = p(n, e, this, t);
                if (r.done) return r.value;
                var h = i(e),
                    f = String(this),
                    d = "function" == typeof t;
                d || (t = String(t));
                var v = h.global;
                if (v) {
                    var m = h.unicode;
                    h.lastIndex = 0
                }
                for (var g = [];;) {
                    var y = u(h, f);
                    if (null === y) break;
                    if (g.push(y), !v) break;
                    "" === String(y[0]) && (h.lastIndex = s(f, o(h.lastIndex), m))
                }
                for (var b, E = "", w = 0, S = 0; S < g.length; S++) {
                    y = g[S];
                    for (var x = String(y[0]), L = c(l(a(y.index), f.length), 0), k = [], M = 1; M < y.length; M++) k.push(void 0 === (b = y[M]) ? b : String(b));
                    var I = y.groups;
                    if (d) {
                        var A = [x].concat(k, L, f);
                        void 0 !== I && A.push(I);
                        var T = String(t.apply(void 0, A))
                    } else T = _(x, f, L, k, I, t);
                    L >= w && (E += f.slice(w, L) + T, w = L + x.length)
                }
                return E + f.slice(w)
            }];

            function _(e, t, i, o, a, s) {
                var u = i + e.length,
                    c = o.length,
                    l = d;
                return void 0 !== a && (a = r(a), l = f), n.call(s, l, (function (n, r) {
                    var s;
                    switch (r.charAt(0)) {
                        case "$":
                            return "$";
                        case "&":
                            return e;
                        case "`":
                            return t.slice(0, i);
                        case "'":
                            return t.slice(u);
                        case "<":
                            s = a[r.slice(1, -1)];
                            break;
                        default:
                            var l = +r;
                            if (0 === l) return n;
                            if (l > c) {
                                var f = h(l / 10);
                                return 0 === f ? n : f <= c ? void 0 === o[f - 1] ? r.charAt(1) : o[f - 1] + r.charAt(1) : n
                            }
                            s = o[l - 1]
                    }
                    return void 0 === s ? "" : s
                }))
            }
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(3),
            r = n(96),
            o = n(55);
        n(56)("search", 1, (function (e, t, n, a) {
            return [function (n) {
                var i = e(this),
                    r = null == n ? void 0 : n[t];
                return void 0 !== r ? r.call(n, i) : new RegExp(n)[t](String(i))
            }, function (e) {
                var t = a(n, e, this);
                if (t.done) return t.value;
                var s = i(e),
                    u = String(this),
                    c = s.lastIndex;
                r(c, 0) || (s.lastIndex = 0);
                var l = o(s, u);
                return r(s.lastIndex, c) || (s.lastIndex = c), null === l ? -1 : l.index
            }]
        }))
    }, function (e, t, n) {
        "use strict";
        var i = n(75),
            r = n(3),
            o = n(48),
            a = n(83),
            s = n(6),
            u = n(55),
            c = n(82),
            l = n(2),
            h = Math.min,
            f = [].push,
            d = "length",
            p = !l((function () {
                RegExp(4294967295, "y")
            }));
        n(56)("split", 2, (function (e, t, n, l) {
            var _;
            return _ = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1)[d] || 2 != "ab".split(/(?:ab)*/)[d] || 4 != ".".split(/(.?)(.?)/)[d] || ".".split(/()()/)[d] > 1 || "".split(/.?/)[d] ? function (e, t) {
                var r = String(this);
                if (void 0 === e && 0 === t) return [];
                if (!i(e)) return n.call(r, e, t);
                for (var o, a, s, u = [], l = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""), h = 0, p = void 0 === t ? 4294967295 : t >>> 0, _ = new RegExp(e.source, l + "g");
                    (o = c.call(_, r)) && !((a = _.lastIndex) > h && (u.push(r.slice(h, o.index)), o[d] > 1 && o.index < r[d] && f.apply(u, o.slice(1)), s = o[0][d], h = a, u[d] >= p));) _.lastIndex === o.index && _.lastIndex++;
                return h === r[d] ? !s && _.test("") || u.push("") : u.push(r.slice(h)), u[d] > p ? u.slice(0, p) : u
            } : "0".split(void 0, 0)[d] ? function (e, t) {
                return void 0 === e && 0 === t ? [] : n.call(this, e, t)
            } : n, [function (n, i) {
                var r = e(this),
                    o = null == n ? void 0 : n[t];
                return void 0 !== o ? o.call(n, r, i) : _.call(String(r), n, i)
            }, function (e, t) {
                var i = l(_, e, this, t, _ !== n);
                if (i.done) return i.value;
                var c = r(e),
                    f = String(this),
                    d = o(c, RegExp),
                    v = c.unicode,
                    m = (c.ignoreCase ? "i" : "") + (c.multiline ? "m" : "") + (c.unicode ? "u" : "") + (p ? "y" : "g"),
                    g = new d(p ? c : "^(?:" + c.source + ")", m),
                    y = void 0 === t ? 4294967295 : t >>> 0;
                if (0 === y) return [];
                if (0 === f.length) return null === u(g, f) ? [f] : [];
                for (var b = 0, E = 0, w = []; E < f.length;) {
                    g.lastIndex = p ? E : 0;
                    var S, x = u(g, p ? f : f.slice(E));
                    if (null === x || (S = h(s(g.lastIndex + (p ? 0 : E)), f.length)) === b) E = a(f, E, v);
                    else {
                        if (w.push(f.slice(b, E)), w.length === y) return w;
                        for (var L = 1; L <= x.length - 1; L++)
                            if (w.push(x[L]), w.length === y) return w;
                        E = b = S
                    }
                }
                return w.push(f.slice(b)), w
            }]
        }))
    }, function (e, t, n) {
        var i = n(1),
            r = n(84).set,
            o = i.MutationObserver || i.WebKitMutationObserver,
            a = i.process,
            s = i.Promise,
            u = "process" == n(24)(a);
        e.exports = function () {
            var e, t, n, c = function () {
                var i, r;
                for (u && (i = a.domain) && i.exit(); e;) {
                    r = e.fn, e = e.next;
                    try {
                        r()
                    } catch (i) {
                        throw e ? n() : t = void 0, i
                    }
                }
                t = void 0, i && i.enter()
            };
            if (u) n = function () {
                a.nextTick(c)
            };
            else if (!o || i.navigator && i.navigator.standalone)
                if (s && s.resolve) {
                    var l = s.resolve(void 0);
                    n = function () {
                        l.then(c)
                    }
                } else n = function () {
                    r.call(i, c)
                };
            else {
                var h = !0,
                    f = document.createTextNode("");
                new o(c).observe(f, {
                    characterData: !0
                }), n = function () {
                    f.data = h = !h
                }
            }
            return function (i) {
                var r = {
                    fn: i,
                    next: void 0
                };
                t && (t.next = r), e || (e = r, n()), t = r
            }
        }
    }, function (e, t) {
        e.exports = function (e) {
            try {
                return {
                    e: !1,
                    v: e()
                }
            } catch (e) {
                return {
                    e: !0,
                    v: e
                }
            }
        }
    }, function (e, t, n) {
        "use strict";
        var i = n(115),
            r = n(38);
        e.exports = n(59)("Map", (function (e) {
            return function () {
                return e(this, arguments.length > 0 ? arguments[0] : void 0)
            }
        }), {
            get: function (e) {
                var t = i.getEntry(r(this, "Map"), e);
                return t && t.v
            },
            set: function (e, t) {
                return i.def(r(this, "Map"), 0 === e ? 0 : e, t)
            }
        }, i, !0)
    }, function (e, t, n) {
        "use strict";
        var i = n(115),
            r = n(38);
        e.exports = n(59)("Set", (function (e) {
            return function () {
                return e(this, arguments.length > 0 ? arguments[0] : void 0)
            }
        }), {
            add: function (e) {
                return i.def(r(this, "Set"), e = 0 === e ? 0 : e, e)
            }
        }, i)
    }, function (e, t, n) {
        "use strict";
        var i, r = n(1),
            o = n(23)(0),
            a = n(12),
            s = n(28),
            u = n(95),
            c = n(116),
            l = n(4),
            h = n(38),
            f = n(38),
            d = !r.ActiveXObject && "ActiveXObject" in r,
            p = s.getWeak,
            _ = Object.isExtensible,
            v = c.ufstore,
            m = function (e) {
                return function () {
                    return e(this, arguments.length > 0 ? arguments[0] : void 0)
                }
            },
            g = {
                get: function (e) {
                    if (l(e)) {
                        var t = p(e);
                        return !0 === t ? v(h(this, "WeakMap")).get(e) : t ? t[this._i] : void 0
                    }
                },
                set: function (e, t) {
                    return c.def(h(this, "WeakMap"), e, t)
                }
            },
            y = e.exports = n(59)("WeakMap", m, g, c, !0, !0);
        f && d && (u((i = c.getConstructor(m, "WeakMap")).prototype, g), s.NEED = !0, o(["delete", "has", "get", "set"], (function (e) {
            var t = y.prototype,
                n = t[e];
            a(t, e, (function (t, r) {
                if (l(t) && !_(t)) {
                    this._f || (this._f = new i);
                    var o = this._f[e](t, r);
                    return "set" == e ? this : o
                }
                return n.call(this, t, r)
            }))
        })))
    }, function (e, t, n) {
        "use strict";
        var i = n(116),
            r = n(38);
        n(59)("WeakSet", (function (e) {
            return function () {
                return e(this, arguments.length > 0 ? arguments[0] : void 0)
            }
        }), {
            add: function (e) {
                return i.def(r(this, "WeakSet"), e, !0)
            }
        }, i, !1, !0)
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(60),
            o = n(85),
            a = n(3),
            s = n(33),
            u = n(6),
            c = n(4),
            l = n(1).ArrayBuffer,
            h = n(48),
            f = o.ArrayBuffer,
            d = o.DataView,
            p = r.ABV && l.isView,
            _ = f.prototype.slice,
            v = r.VIEW;
        i(i.G + i.W + i.F * (l !== f), {
            ArrayBuffer: f
        }), i(i.S + i.F * !r.CONSTR, "ArrayBuffer", {
            isView: function (e) {
                return p && p(e) || c(e) && v in e
            }
        }), i(i.P + i.U + i.F * n(2)((function () {
            return !new f(2).slice(1, void 0).byteLength
        })), "ArrayBuffer", {
            slice: function (e, t) {
                if (void 0 !== _ && void 0 === t) return _.call(a(this), e);
                for (var n = a(this).byteLength, i = s(e, n), r = s(void 0 === t ? n : t, n), o = new(h(this, f))(u(r - i)), c = new d(this), l = new d(o), p = 0; i < r;) l.setUint8(p++, c.getUint8(i++));
                return o
            }
        }), n(42)("ArrayBuffer")
    }, function (e, t, n) {
        var i = n(0);
        i(i.G + i.W + i.F * !n(60).ABV, {
            DataView: n(85).DataView
        })
    }, function (e, t, n) {
        n(26)("Int8", 1, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Uint8", 1, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Uint8", 1, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }), !0)
    }, function (e, t, n) {
        n(26)("Int16", 2, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Uint16", 2, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Int32", 4, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Uint32", 4, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Float32", 4, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        n(26)("Float64", 8, (function (e) {
            return function (t, n, i) {
                return e(this, t, n, i)
            }
        }))
    }, function (e, t, n) {
        var i = n(0),
            r = n(19),
            o = n(3),
            a = (n(1).Reflect || {}).apply,
            s = Function.apply;
        i(i.S + i.F * !n(2)((function () {
            a((function () {}))
        })), "Reflect", {
            apply: function (e, t, n) {
                var i = r(e),
                    u = o(n);
                return a ? a(i, t, u) : s.call(i, t, u)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(34),
            o = n(19),
            a = n(3),
            s = n(4),
            u = n(2),
            c = n(97),
            l = (n(1).Reflect || {}).construct,
            h = u((function () {
                function e() {}
                return !(l((function () {}), [], e) instanceof e)
            })),
            f = !u((function () {
                l((function () {}))
            }));
        i(i.S + i.F * (h || f), "Reflect", {
            construct: function (e, t) {
                o(e), a(t);
                var n = arguments.length < 3 ? e : o(arguments[2]);
                if (f && !h) return l(e, t, n);
                if (e == n) {
                    switch (t.length) {
                        case 0:
                            return new e;
                        case 1:
                            return new e(t[0]);
                        case 2:
                            return new e(t[0], t[1]);
                        case 3:
                            return new e(t[0], t[1], t[2]);
                        case 4:
                            return new e(t[0], t[1], t[2], t[3])
                    }
                    var i = [null];
                    return i.push.apply(i, t), new(c.apply(e, i))
                }
                var u = n.prototype,
                    d = r(s(u) ? u : Object.prototype),
                    p = Function.apply.call(e, d, t);
                return s(p) ? p : d
            }
        })
    }, function (e, t, n) {
        var i = n(9),
            r = n(0),
            o = n(3),
            a = n(27);
        r(r.S + r.F * n(2)((function () {
            Reflect.defineProperty(i.f({}, 1, {
                value: 1
            }), 1, {
                value: 2
            })
        })), "Reflect", {
            defineProperty: function (e, t, n) {
                o(e), t = a(t, !0), o(n);
                try {
                    return i.f(e, t, n), !0
                } catch (e) {
                    return !1
                }
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(21).f,
            o = n(3);
        i(i.S, "Reflect", {
            deleteProperty: function (e, t) {
                var n = r(o(e), t);
                return !(n && !n.configurable) && delete e[t]
            }
        })
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(3),
            o = function (e) {
                this._t = r(e), this._i = 0;
                var t, n = this._k = [];
                for (t in e) n.push(t)
            };
        n(104)(o, "Object", (function () {
            var e, t = this._k;
            do {
                if (this._i >= t.length) return {
                    value: void 0,
                    done: !0
                }
            } while (!((e = t[this._i++]) in this._t));
            return {
                value: e,
                done: !1
            }
        })), i(i.S, "Reflect", {
            enumerate: function (e) {
                return new o(e)
            }
        })
    }, function (e, t, n) {
        var i = n(21),
            r = n(36),
            o = n(14),
            a = n(0),
            s = n(4),
            u = n(3);
        a(a.S, "Reflect", {
            get: function e(t, n) {
                var a, c, l = arguments.length < 3 ? t : arguments[2];
                return u(t) === l ? t[n] : (a = i.f(t, n)) ? o(a, "value") ? a.value : void 0 !== a.get ? a.get.call(l) : void 0 : s(c = r(t)) ? e(c, n, l) : void 0
            }
        })
    }, function (e, t, n) {
        var i = n(21),
            r = n(0),
            o = n(3);
        r(r.S, "Reflect", {
            getOwnPropertyDescriptor: function (e, t) {
                return i.f(o(e), t)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(36),
            o = n(3);
        i(i.S, "Reflect", {
            getPrototypeOf: function (e) {
                return r(o(e))
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Reflect", {
            has: function (e, t) {
                return t in e
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(3),
            o = Object.isExtensible;
        i(i.S, "Reflect", {
            isExtensible: function (e) {
                return r(e), !o || o(e)
            }
        })
    }, function (e, t, n) {
        var i = n(0);
        i(i.S, "Reflect", {
            ownKeys: n(118)
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(3),
            o = Object.preventExtensions;
        i(i.S, "Reflect", {
            preventExtensions: function (e) {
                r(e);
                try {
                    return o && o(e), !0
                } catch (e) {
                    return !1
                }
            }
        })
    }, function (e, t, n) {
        var i = n(9),
            r = n(21),
            o = n(36),
            a = n(14),
            s = n(0),
            u = n(29),
            c = n(3),
            l = n(4);
        s(s.S, "Reflect", {
            set: function e(t, n, s) {
                var h, f, d = arguments.length < 4 ? t : arguments[3],
                    p = r.f(c(t), n);
                if (!p) {
                    if (l(f = o(t))) return e(f, n, s, d);
                    p = u(0)
                }
                if (a(p, "value")) {
                    if (!1 === p.writable || !l(d)) return !1;
                    if (h = r.f(d, n)) {
                        if (h.get || h.set || !1 === h.writable) return !1;
                        h.value = s, i.f(d, n, h)
                    } else i.f(d, n, u(0, s));
                    return !0
                }
                return void 0 !== p.set && (p.set.call(d, s), !0)
            }
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(66);
        r && i(i.S, "Reflect", {
            setPrototypeOf: function (e, t) {
                r.check(e, t);
                try {
                    return r.set(e, t), !0
                } catch (e) {
                    return !1
                }
            }
        })
    }, function (e, t, n) {
        n(277), e.exports = n(7).Array.includes
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(50)(!0);
        i(i.P, "Array", {
            includes: function (e) {
                return r(this, e, arguments.length > 1 ? arguments[1] : void 0)
            }
        }), n(37)("includes")
    }, function (e, t, n) {
        n(279), e.exports = n(7).Array.flatMap
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(280),
            o = n(11),
            a = n(6),
            s = n(19),
            u = n(106);
        i(i.P, "Array", {
            flatMap: function (e) {
                var t, n, i = o(this);
                return s(e), t = a(i.length), n = u(i, 0), r(n, i, i, t, 0, 1, e, arguments[1]), n
            }
        }), n(37)("flatMap")
    }, function (e, t, n) {
        "use strict";
        var i = n(52),
            r = n(4),
            o = n(6),
            a = n(18),
            s = n(5)("isConcatSpreadable");
        e.exports = function e(t, n, u, c, l, h, f, d) {
            for (var p, _, v = l, m = 0, g = !!f && a(f, d, 3); m < c;) {
                if (m in u) {
                    if (p = g ? g(u[m], m, n) : u[m], _ = !1, r(p) && (_ = void 0 !== (_ = p[s]) ? !!_ : i(p)), _ && h > 0) v = e(t, n, p, o(p.length), v, h - 1) - 1;
                    else {
                        if (v >= 9007199254740991) throw TypeError();
                        t[v] = p
                    }
                    v++
                }
                m++
            }
            return v
        }
    }, function (e, t, n) {
        n(282), e.exports = n(7).String.padStart
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(119),
            o = n(58),
            a = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);
        i(i.P + i.F * a, "String", {
            padStart: function (e) {
                return r(this, e, arguments.length > 1 ? arguments[1] : void 0, !0)
            }
        })
    }, function (e, t, n) {
        n(284), e.exports = n(7).String.padEnd
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(119),
            o = n(58),
            a = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);
        i(i.P + i.F * a, "String", {
            padEnd: function (e) {
                return r(this, e, arguments.length > 1 ? arguments[1] : void 0, !1)
            }
        })
    }, function (e, t, n) {
        n(286), e.exports = n(7).String.trimLeft
    }, function (e, t, n) {
        "use strict";
        n(40)("trimLeft", (function (e) {
            return function () {
                return e(this, 1)
            }
        }), "trimStart")
    }, function (e, t, n) {
        n(288), e.exports = n(7).String.trimRight
    }, function (e, t, n) {
        "use strict";
        n(40)("trimRight", (function (e) {
            return function () {
                return e(this, 2)
            }
        }), "trimEnd")
    }, function (e, t, n) {
        n(290), e.exports = n(62).f("asyncIterator")
    }, function (e, t, n) {
        n(91)("asyncIterator")
    }, function (e, t, n) {
        n(292), e.exports = n(7).Object.getOwnPropertyDescriptors
    }, function (e, t, n) {
        var i = n(0),
            r = n(118),
            o = n(16),
            a = n(21),
            s = n(78);
        i(i.S, "Object", {
            getOwnPropertyDescriptors: function (e) {
                for (var t, n, i = o(e), u = a.f, c = r(i), l = {}, h = 0; c.length > h;) void 0 !== (n = u(i, t = c[h++])) && s(l, t, n);
                return l
            }
        })
    }, function (e, t, n) {
        n(294), e.exports = n(7).Object.values
    }, function (e, t, n) {
        var i = n(0),
            r = n(120)(!1);
        i(i.S, "Object", {
            values: function (e) {
                return r(e)
            }
        })
    }, function (e, t, n) {
        n(296), e.exports = n(7).Object.entries
    }, function (e, t, n) {
        var i = n(0),
            r = n(120)(!0);
        i(i.S, "Object", {
            entries: function (e) {
                return r(e)
            }
        })
    }, function (e, t, n) {
        "use strict";
        n(112), n(298), e.exports = n(7).Promise.finally
    }, function (e, t, n) {
        "use strict";
        var i = n(0),
            r = n(7),
            o = n(1),
            a = n(48),
            s = n(114);
        i(i.P + i.R, "Promise", {
            finally: function (e) {
                var t = a(this, r.Promise || o.Promise),
                    n = "function" == typeof e;
                return this.then(n ? function (n) {
                    return s(t, e()).then((function () {
                        return n
                    }))
                } : e, n ? function (n) {
                    return s(t, e()).then((function () {
                        throw n
                    }))
                } : e)
            }
        })
    }, function (e, t, n) {
        n(300), n(301), n(302), e.exports = n(7)
    }, function (e, t, n) {
        var i = n(1),
            r = n(0),
            o = n(58),
            a = [].slice,
            s = /MSIE .\./.test(o),
            u = function (e) {
                return function (t, n) {
                    var i = arguments.length > 2,
                        r = !!i && a.call(arguments, 2);
                    return e(i ? function () {
                        ("function" == typeof t ? t : Function(t)).apply(this, r)
                    } : t, n)
                }
            };
        r(r.G + r.B + r.F * s, {
            setTimeout: u(i.setTimeout),
            setInterval: u(i.setInterval)
        })
    }, function (e, t, n) {
        var i = n(0),
            r = n(84);
        i(i.G + i.B, {
            setImmediate: r.set,
            clearImmediate: r.clear
        })
    }, function (e, t, n) {
        for (var i = n(81), r = n(32), o = n(12), a = n(1), s = n(15), u = n(41), c = n(5), l = c("iterator"), h = c("toStringTag"), f = u.Array, d = {
                CSSRuleList: !0,
                CSSStyleDeclaration: !1,
                CSSValueList: !1,
                ClientRectList: !1,
                DOMRectList: !1,
                DOMStringList: !1,
                DOMTokenList: !0,
                DataTransferItemList: !1,
                FileList: !1,
                HTMLAllCollection: !1,
                HTMLCollection: !1,
                HTMLFormElement: !1,
                HTMLSelectElement: !1,
                MediaList: !0,
                MimeTypeArray: !1,
                NamedNodeMap: !1,
                NodeList: !0,
                PaintRequestList: !1,
                Plugin: !1,
                PluginArray: !1,
                SVGLengthList: !1,
                SVGNumberList: !1,
                SVGPathSegList: !1,
                SVGPointList: !1,
                SVGStringList: !1,
                SVGTransformList: !1,
                SourceBufferList: !1,
                StyleSheetList: !0,
                TextTrackCueList: !1,
                TextTrackList: !1,
                TouchList: !1
            }, p = r(d), _ = 0; _ < p.length; _++) {
            var v, m = p[_],
                g = d[m],
                y = a[m],
                b = y && y.prototype;
            if (b && (b[l] || s(b, l, f), b[h] || s(b, h, m), u[m] = f, g))
                for (v in i) b[v] || o(b, v, i[v], !0)
        }
    }, function (e, t, n) {
        var i = function (e) {
            "use strict";
            var t = Object.prototype,
                n = t.hasOwnProperty,
                i = "function" == typeof Symbol ? Symbol : {},
                r = i.iterator || "@@iterator",
                o = i.asyncIterator || "@@asyncIterator",
                a = i.toStringTag || "@@toStringTag";

            function s(e, t, n) {
                return Object.defineProperty(e, t, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }), e[t]
            }
            try {
                s({}, "")
            } catch (e) {
                s = function (e, t, n) {
                    return e[t] = n
                }
            }

            function u(e, t, n, i) {
                var r = t && t.prototype instanceof h ? t : h,
                    o = Object.create(r.prototype),
                    a = new S(i || []);
                return o._invoke = function (e, t, n) {
                    var i = "suspendedStart";
                    return function (r, o) {
                        if ("executing" === i) throw new Error("Generator is already running");
                        if ("completed" === i) {
                            if ("throw" === r) throw o;
                            return L()
                        }
                        for (n.method = r, n.arg = o;;) {
                            var a = n.delegate;
                            if (a) {
                                var s = b(a, n);
                                if (s) {
                                    if (s === l) continue;
                                    return s
                                }
                            }
                            if ("next" === n.method) n.sent = n._sent = n.arg;
                            else if ("throw" === n.method) {
                                if ("suspendedStart" === i) throw i = "completed", n.arg;
                                n.dispatchException(n.arg)
                            } else "return" === n.method && n.abrupt("return", n.arg);
                            i = "executing";
                            var u = c(e, t, n);
                            if ("normal" === u.type) {
                                if (i = n.done ? "completed" : "suspendedYield", u.arg === l) continue;
                                return {
                                    value: u.arg,
                                    done: n.done
                                }
                            }
                            "throw" === u.type && (i = "completed", n.method = "throw", n.arg = u.arg)
                        }
                    }
                }(e, n, a), o
            }

            function c(e, t, n) {
                try {
                    return {
                        type: "normal",
                        arg: e.call(t, n)
                    }
                } catch (e) {
                    return {
                        type: "throw",
                        arg: e
                    }
                }
            }
            e.wrap = u;
            var l = {};

            function h() {}

            function f() {}

            function d() {}
            var p = {};
            s(p, r, (function () {
                return this
            }));
            var _ = Object.getPrototypeOf,
                v = _ && _(_(x([])));
            v && v !== t && n.call(v, r) && (p = v);
            var m = d.prototype = h.prototype = Object.create(p);

            function g(e) {
                ["next", "throw", "return"].forEach((function (t) {
                    s(e, t, (function (e) {
                        return this._invoke(t, e)
                    }))
                }))
            }

            function y(e, t) {
                var i;
                this._invoke = function (r, o) {
                    function a() {
                        return new t((function (i, a) {
                            ! function i(r, o, a, s) {
                                var u = c(e[r], e, o);
                                if ("throw" !== u.type) {
                                    var l = u.arg,
                                        h = l.value;
                                    return h && "object" == typeof h && n.call(h, "__await") ? t.resolve(h.__await).then((function (e) {
                                        i("next", e, a, s)
                                    }), (function (e) {
                                        i("throw", e, a, s)
                                    })) : t.resolve(h).then((function (e) {
                                        l.value = e, a(l)
                                    }), (function (e) {
                                        return i("throw", e, a, s)
                                    }))
                                }
                                s(u.arg)
                            }(r, o, i, a)
                        }))
                    }
                    return i = i ? i.then(a, a) : a()
                }
            }

            function b(e, t) {
                var n = e.iterator[t.method];
                if (void 0 === n) {
                    if (t.delegate = null, "throw" === t.method) {
                        if (e.iterator.return && (t.method = "return", t.arg = void 0, b(e, t), "throw" === t.method)) return l;
                        t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method")
                    }
                    return l
                }
                var i = c(n, e.iterator, t.arg);
                if ("throw" === i.type) return t.method = "throw", t.arg = i.arg, t.delegate = null, l;
                var r = i.arg;
                return r ? r.done ? (t[e.resultName] = r.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, l) : r : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, l)
            }

            function E(e) {
                var t = {
                    tryLoc: e[0]
                };
                1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
            }

            function w(e) {
                var t = e.completion || {};
                t.type = "normal", delete t.arg, e.completion = t
            }

            function S(e) {
                this.tryEntries = [{
                    tryLoc: "root"
                }], e.forEach(E, this), this.reset(!0)
            }

            function x(e) {
                if (e) {
                    var t = e[r];
                    if (t) return t.call(e);
                    if ("function" == typeof e.next) return e;
                    if (!isNaN(e.length)) {
                        var i = -1,
                            o = function t() {
                                for (; ++i < e.length;)
                                    if (n.call(e, i)) return t.value = e[i], t.done = !1, t;
                                return t.value = void 0, t.done = !0, t
                            };
                        return o.next = o
                    }
                }
                return {
                    next: L
                }
            }

            function L() {
                return {
                    value: void 0,
                    done: !0
                }
            }
            return f.prototype = d, s(m, "constructor", d), s(d, "constructor", f), f.displayName = s(d, a, "GeneratorFunction"), e.isGeneratorFunction = function (e) {
                var t = "function" == typeof e && e.constructor;
                return !!t && (t === f || "GeneratorFunction" === (t.displayName || t.name))
            }, e.mark = function (e) {
                return Object.setPrototypeOf ? Object.setPrototypeOf(e, d) : (e.__proto__ = d, s(e, a, "GeneratorFunction")), e.prototype = Object.create(m), e
            }, e.awrap = function (e) {
                return {
                    __await: e
                }
            }, g(y.prototype), s(y.prototype, o, (function () {
                return this
            })), e.AsyncIterator = y, e.async = function (t, n, i, r, o) {
                void 0 === o && (o = Promise);
                var a = new y(u(t, n, i, r), o);
                return e.isGeneratorFunction(n) ? a : a.next().then((function (e) {
                    return e.done ? e.value : a.next()
                }))
            }, g(m), s(m, a, "Generator"), s(m, r, (function () {
                return this
            })), s(m, "toString", (function () {
                return "[object Generator]"
            })), e.keys = function (e) {
                var t = [];
                for (var n in e) t.push(n);
                return t.reverse(),
                    function n() {
                        for (; t.length;) {
                            var i = t.pop();
                            if (i in e) return n.value = i, n.done = !1, n
                        }
                        return n.done = !0, n
                    }
            }, e.values = x, S.prototype = {
                constructor: S,
                reset: function (e) {
                    if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(w), !e)
                        for (var t in this) "t" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0)
                },
                stop: function () {
                    this.done = !0;
                    var e = this.tryEntries[0].completion;
                    if ("throw" === e.type) throw e.arg;
                    return this.rval
                },
                dispatchException: function (e) {
                    if (this.done) throw e;
                    var t = this;

                    function i(n, i) {
                        return a.type = "throw", a.arg = e, t.next = n, i && (t.method = "next", t.arg = void 0), !!i
                    }
                    for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                        var o = this.tryEntries[r],
                            a = o.completion;
                        if ("root" === o.tryLoc) return i("end");
                        if (o.tryLoc <= this.prev) {
                            var s = n.call(o, "catchLoc"),
                                u = n.call(o, "finallyLoc");
                            if (s && u) {
                                if (this.prev < o.catchLoc) return i(o.catchLoc, !0);
                                if (this.prev < o.finallyLoc) return i(o.finallyLoc)
                            } else if (s) {
                                if (this.prev < o.catchLoc) return i(o.catchLoc, !0)
                            } else {
                                if (!u) throw new Error("try statement without catch or finally");
                                if (this.prev < o.finallyLoc) return i(o.finallyLoc)
                            }
                        }
                    }
                },
                abrupt: function (e, t) {
                    for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                        var r = this.tryEntries[i];
                        if (r.tryLoc <= this.prev && n.call(r, "finallyLoc") && this.prev < r.finallyLoc) {
                            var o = r;
                            break
                        }
                    }
                    o && ("break" === e || "continue" === e) && o.tryLoc <= t && t <= o.finallyLoc && (o = null);
                    var a = o ? o.completion : {};
                    return a.type = e, a.arg = t, o ? (this.method = "next", this.next = o.finallyLoc, l) : this.complete(a)
                },
                complete: function (e, t) {
                    if ("throw" === e.type) throw e.arg;
                    return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), l
                },
                finish: function (e) {
                    for (var t = this.tryEntries.length - 1; t >= 0; --t) {
                        var n = this.tryEntries[t];
                        if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), w(n), l
                    }
                },
                catch: function (e) {
                    for (var t = this.tryEntries.length - 1; t >= 0; --t) {
                        var n = this.tryEntries[t];
                        if (n.tryLoc === e) {
                            var i = n.completion;
                            if ("throw" === i.type) {
                                var r = i.arg;
                                w(n)
                            }
                            return r
                        }
                    }
                    throw new Error("illegal catch attempt")
                },
                delegateYield: function (e, t, n) {
                    return this.delegate = {
                        iterator: x(e),
                        resultName: t,
                        nextLoc: n
                    }, "next" === this.method && (this.arg = void 0), l
                }
            }, e
        }(e.exports);
        try {
            regeneratorRuntime = i
        } catch (e) {
            "object" == typeof globalThis ? globalThis.regeneratorRuntime = i : Function("r", "regeneratorRuntime = r")(i)
        }
    }, function (e, t, n) {
        n(305), e.exports = n(121).global
    }, function (e, t, n) {
        var i = n(306);
        i(i.G, {
            global: n(86)
        })
    }, function (e, t, n) {
        var i = n(86),
            r = n(121),
            o = n(307),
            a = n(309),
            s = n(316),
            u = function (e, t, n) {
                var c, l, h, f = e & u.F,
                    d = e & u.G,
                    p = e & u.S,
                    _ = e & u.P,
                    v = e & u.B,
                    m = e & u.W,
                    g = d ? r : r[t] || (r[t] = {}),
                    y = g.prototype,
                    b = d ? i : p ? i[t] : (i[t] || {}).prototype;
                for (c in d && (n = t), n)(l = !f && b && void 0 !== b[c]) && s(g, c) || (h = l ? b[c] : n[c], g[c] = d && "function" != typeof b[c] ? n[c] : v && l ? o(h, i) : m && b[c] == h ? function (e) {
                    var t = function (t, n, i) {
                        if (this instanceof e) {
                            switch (arguments.length) {
                                case 0:
                                    return new e;
                                case 1:
                                    return new e(t);
                                case 2:
                                    return new e(t, n)
                            }
                            return new e(t, n, i)
                        }
                        return e.apply(this, arguments)
                    };
                    return t.prototype = e.prototype, t
                }(h) : _ && "function" == typeof h ? o(Function.call, h) : h, _ && ((g.virtual || (g.virtual = {}))[c] = h, e & u.R && y && !y[c] && a(y, c, h)))
            };
        u.F = 1, u.G = 2, u.S = 4, u.P = 8, u.B = 16, u.W = 32, u.U = 64, u.R = 128, e.exports = u
    }, function (e, t, n) {
        var i = n(308);
        e.exports = function (e, t, n) {
            if (i(e), void 0 === t) return e;
            switch (n) {
                case 1:
                    return function (n) {
                        return e.call(t, n)
                    };
                case 2:
                    return function (n, i) {
                        return e.call(t, n, i)
                    };
                case 3:
                    return function (n, i, r) {
                        return e.call(t, n, i, r)
                    }
            }
            return function () {
                return e.apply(t, arguments)
            }
        }
    }, function (e, t) {
        e.exports = function (e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function!");
            return e
        }
    }, function (e, t, n) {
        var i = n(310),
            r = n(315);
        e.exports = n(88) ? function (e, t, n) {
            return i.f(e, t, r(1, n))
        } : function (e, t, n) {
            return e[t] = n, e
        }
    }, function (e, t, n) {
        var i = n(311),
            r = n(312),
            o = n(314),
            a = Object.defineProperty;
        t.f = n(88) ? Object.defineProperty : function (e, t, n) {
            if (i(e), t = o(t, !0), i(n), r) try {
                return a(e, t, n)
            } catch (e) {}
            if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");
            return "value" in n && (e[t] = n.value), e
        }
    }, function (e, t, n) {
        var i = n(87);
        e.exports = function (e) {
            if (!i(e)) throw TypeError(e + " is not an object!");
            return e
        }
    }, function (e, t, n) {
        e.exports = !n(88) && !n(122)((function () {
            return 7 != Object.defineProperty(n(313)("div"), "a", {
                get: function () {
                    return 7
                }
            }).a
        }))
    }, function (e, t, n) {
        var i = n(87),
            r = n(86).document,
            o = i(r) && i(r.createElement);
        e.exports = function (e) {
            return o ? r.createElement(e) : {}
        }
    }, function (e, t, n) {
        var i = n(87);
        e.exports = function (e, t) {
            if (!i(e)) return e;
            var n, r;
            if (t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r;
            if ("function" == typeof (n = e.valueOf) && !i(r = n.call(e))) return r;
            if (!t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r;
            throw TypeError("Can't convert object to primitive value")
        }
    }, function (e, t) {
        e.exports = function (e, t) {
            return {
                enumerable: !(1 & e),
                configurable: !(2 & e),
                writable: !(4 & e),
                value: t
            }
        }
    }, function (e, t) {
        var n = {}.hasOwnProperty;
        e.exports = function (e, t) {
            return n.call(e, t)
        }
    }, function (e, t) {
        function n(e) {
            return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }! function (e) {
            var t, i, r, o, a = {
                menuStyle: {
                    listStyle: "none",
                    padding: "1px",
                    margin: "0px",
                    backgroundColor: "#fff",
                    border: "1px solid #999",
                    width: "100px",
                    "font-size": "12px",
                    opacity: .7
                },
                itemStyle: {
                    margin: "0px",
                    color: "#000",
                    display: "block",
                    cursor: "default",
                    padding: "3px",
                    border: "1px solid #fff",
                    backgroundColor: "transparent"
                },
                itemHoverStyle: {
                    border: "1px solid #0a246a",
                    backgroundColor: "#b6bdd2"
                },
                eventPosX: "pageX",
                eventPosY: "pageY",
                shadow: !0,
                onContextMenu: null,
                onShowMenu: null
            };

            function s() {
                t.hide(), i.hide()
            }
            e.fn.contextMenu = function (n, u) {
                t || (t = e('<div id="jqContextMenu"></div>').hide().css({
                    position: "absolute",
                    zIndex: "500"
                }).appendTo("body").bind("click", (function (e) {
                    e.stopPropagation()
                }))), i || (i = e("<div></div>").css({
                    backgroundColor: "#000",
                    position: "absolute",
                    opacity: .2,
                    zIndex: 499
                }).appendTo("body").hide()), (o = o || []).push({
                    id: n,
                    menuStyle: e.extend({}, a.menuStyle, u.menuStyle || {}),
                    itemStyle: e.extend({}, a.itemStyle, u.itemStyle || {}),
                    itemHoverStyle: e.extend({}, a.itemHoverStyle, u.itemHoverStyle || {}),
                    bindings: u.bindings || {},
                    shadow: u.shadow || !1 === u.shadow ? u.shadow : a.shadow,
                    onContextMenu: u.onContextMenu || a.onContextMenu,
                    onShowMenu: u.onShowMenu || a.onShowMenu,
                    eventPosX: u.eventPosX || a.eventPosX,
                    eventPosY: u.eventPosY || a.eventPosY
                });
                var c = o.length - 1;
                return e(this).bind("contextmenu", (function (n) {
                    return (!o[c].onContextMenu || o[c].onContextMenu(n)) && function (n, a, u, c) {
                        var l = o[n];
                        (r = e("#" + l.id).find("ul:first").clone(!0)).css(l.menuStyle).find("li").css(l.itemStyle).hover((function () {
                            e(this).css(l.itemHoverStyle)
                        }), (function () {
                            e(this).css(l.itemStyle)
                        })).find("img").css({
                            verticalAlign: "middle",
                            paddingRight: "2px"
                        }), t.html(r), !l.onShowMenu || (t = l.onShowMenu(u, t));
                        e.each(l.bindings, (function (n, i) {
                            e("#" + n, t).bind("click", (function (e) {
                                s(), i(a, void 0)
                            }))
                        })), t.css({
                            left: u[l.eventPosX],
                            top: u[l.eventPosY]
                        }).show(), l.shadow && i.css({
                            width: t.width(),
                            height: t.height(),
                            left: u.pageX + 2,
                            top: u.pageY + 2
                        }).show();
                        e(document).one("click", s)
                    }(c, this, n), !1
                })), this
            }, e.contextMenu = {
                defaults: function (t) {
                    e.each(t, (function (t, i) {
                        "object" == n(i) && a[t] ? e.extend(a[t], i) : a[t] = i
                    }))
                }
            }
        }(jQuery)
    }, function (e, t, n) {
        "use strict";

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        n.r(t);
        var r = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, r, o;
            return t = e, o = [{
                key: "install",
                value: function () {
                    Object.setPrototypeOf = Object.setPrototypeOf || function (e, t) {
                        return e.__proto__ = t, e
                    }, Object.assign = Object.assign || function (e) {
                        if (null == e) throw new TypeError("Cannot convert undefined or null to object");
                        for (var t = Object(e), n = 1; n < arguments.length; n++) {
                            var i = arguments[n];
                            if (null != i)
                                for (var r in i) i.hasOwnProperty(r) && (t[r] = i[r])
                        }
                        return t
                    }, "function" != typeof self.Promise && n(128).polyfill()
                }
            }], (r = null) && i(t.prototype, r), o && i(t, o), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();
        r.install();
        var o = r,
            a = n(10),
            s = n.n(a);

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var c = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, i;
            return t = e, i = [{
                key: "e",
                value: function (t, n) {
                    t && !e.FORCE_GLOBAL_TAG || (t = e.GLOBAL_TAG);
                    var i = "[".concat(t, "] > ").concat(n);
                    e.ENABLE_CALLBACK && e.emitter.emit("log", "error", i), e.ENABLE_ERROR && (console.error ? console.error(i) : console.warn ? console.warn(i) : console.log(i))
                }
            }, {
                key: "i",
                value: function (t, n) {
                    t && !e.FORCE_GLOBAL_TAG || (t = e.GLOBAL_TAG);
                    var i = "[".concat(t, "] > ").concat(n);
                    e.ENABLE_CALLBACK && e.emitter.emit("log", "info", i), e.ENABLE_INFO && (console.info ? console.info(i) : console.log(i))
                }
            }, {
                key: "w",
                value: function (t, n) {
                    t && !e.FORCE_GLOBAL_TAG || (t = e.GLOBAL_TAG);
                    var i = "[".concat(t, "] > ").concat(n);
                    e.ENABLE_CALLBACK && e.emitter.emit("log", "warn", i), e.ENABLE_WARN && (console.warn ? console.warn(i) : console.log(i))
                }
            }, {
                key: "d",
                value: function (t, n) {
                    t && !e.FORCE_GLOBAL_TAG || (t = e.GLOBAL_TAG);
                    var i = "[".concat(t, "] > ").concat(n);
                    e.ENABLE_CALLBACK && e.emitter.emit("log", "debug", i), e.ENABLE_DEBUG && (console.debug ? console.debug(i) : console.log(i))
                }
            }, {
                key: "v",
                value: function (t, n) {
                    t && !e.FORCE_GLOBAL_TAG || (t = e.GLOBAL_TAG);
                    var i = "[".concat(t, "] > ").concat(n);
                    e.ENABLE_CALLBACK && e.emitter.emit("log", "verbose", i), e.ENABLE_VERBOSE && console.log(i)
                }
            }], (n = null) && u(t.prototype, n), i && u(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();
        c.GLOBAL_TAG = "flv.js", c.FORCE_GLOBAL_TAG = !1, c.ENABLE_ERROR = !0, c.ENABLE_INFO = !0, c.ENABLE_WARN = !0, c.ENABLE_DEBUG = !0, c.ENABLE_VERBOSE = !0, c.ENABLE_CALLBACK = !1, c.emitter = new s.a;
        var l = c;

        function h(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var f = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._firstCheckpoint = 0, this._lastCheckpoint = 0, this._intervalBytes = 0, this._totalBytes = 0, this._lastSecondBytes = 0, self.performance && self.performance.now ? this._now = self.performance.now.bind(self.performance) : this._now = Date.now
            }
            var t, n, i;
            return t = e, (n = [{
                key: "reset",
                value: function () {
                    this._firstCheckpoint = this._lastCheckpoint = 0, this._totalBytes = this._intervalBytes = 0, this._lastSecondBytes = 0
                }
            }, {
                key: "addBytes",
                value: function (e) {
                    0 === this._firstCheckpoint ? (this._firstCheckpoint = this._now(), this._lastCheckpoint = this._firstCheckpoint, this._intervalBytes += e, this._totalBytes += e) : this._now() - this._lastCheckpoint < 1e3 ? (this._intervalBytes += e, this._totalBytes += e) : (this._lastSecondBytes = this._intervalBytes, this._intervalBytes = e, this._totalBytes += e, this._lastCheckpoint = this._now())
                }
            }, {
                key: "currentKBps",
                get: function () {
                    this.addBytes(0);
                    var e = (this._now() - this._lastCheckpoint) / 1e3;
                    return 0 == e && (e = 1), this._intervalBytes / e / 1024
                }
            }, {
                key: "lastSecondKBps",
                get: function () {
                    return this.addBytes(0), 0 !== this._lastSecondBytes ? this._lastSecondBytes / 1024 : this._now() - this._lastCheckpoint >= 500 ? this.currentKBps : 0
                }
            }, {
                key: "averageKBps",
                get: function () {
                    var e = (this._now() - this._firstCheckpoint) / 1e3;
                    return this._totalBytes / e / 1024
                }
            }]) && h(t.prototype, n), i && h(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function d(e) {
            return (d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function p(e, t) {
            if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
            e.prototype = Object.create(t && t.prototype, {
                constructor: {
                    value: e,
                    writable: !0,
                    configurable: !0
                }
            }), Object.defineProperty(e, "prototype", {
                writable: !1
            }), t && _(e, t)
        }

        function _(e, t) {
            return (_ = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function v(e) {
            var t = function () {
                if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                if (Reflect.construct.sham) return !1;
                if ("function" == typeof Proxy) return !0;
                try {
                    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {}))), !0
                } catch (e) {
                    return !1
                }
            }();
            return function () {
                var n, i = g(e);
                if (t) {
                    var r = g(this).constructor;
                    n = Reflect.construct(i, arguments, r)
                } else n = i.apply(this, arguments);
                return m(this, n)
            }
        }

        function m(e, t) {
            if (t && ("object" === d(t) || "function" == typeof t)) return t;
            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
            return function (e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e)
        }

        function g(e) {
            return (g = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function y(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }

        function b(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function E(e, t, n) {
            return t && b(e.prototype, t), n && b(e, n), Object.defineProperty(e, "prototype", {
                writable: !1
            }), e
        }
        var w = function () {
                function e(t) {
                    y(this, e), this._message = t
                }
                return E(e, [{
                    key: "name",
                    get: function () {
                        return "RuntimeException"
                    }
                }, {
                    key: "message",
                    get: function () {
                        return this._message
                    }
                }, {
                    key: "toString",
                    value: function () {
                        return this.name + ": " + this.message
                    }
                }]), e
            }(),
            S = function (e) {
                p(n, e);
                var t = v(n);

                function n(e) {
                    return y(this, n), t.call(this, e)
                }
                return E(n, [{
                    key: "name",
                    get: function () {
                        return "IllegalStateException"
                    }
                }]), n
            }(w),
            x = function (e) {
                p(n, e);
                var t = v(n);

                function n(e) {
                    return y(this, n), t.call(this, e)
                }
                return E(n, [{
                    key: "name",
                    get: function () {
                        return "InvalidArgumentException"
                    }
                }]), n
            }(w),
            L = function (e) {
                p(n, e);
                var t = v(n);

                function n(e) {
                    return y(this, n), t.call(this, e)
                }
                return E(n, [{
                    key: "name",
                    get: function () {
                        return "NotImplementedException"
                    }
                }]), n
            }(w);

        function k(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var M = {
                kIdle: 0,
                kConnecting: 1,
                kBuffering: 2,
                kError: 3,
                kComplete: 4
            },
            I = {
                OK: "OK",
                EXCEPTION: "Exception",
                HTTP_STATUS_CODE_INVALID: "HttpStatusCodeInvalid",
                CONNECTING_TIMEOUT: "ConnectingTimeout",
                EARLY_EOF: "EarlyEof",
                UNRECOVERABLE_EARLY_EOF: "UnrecoverableEarlyEof"
            },
            A = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._type = t || "undefined", this._status = M.kIdle, this._needStash = !1, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "destroy",
                    value: function () {
                        this._status = M.kIdle, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null
                    }
                }, {
                    key: "isWorking",
                    value: function () {
                        return this._status === M.kConnecting || this._status === M.kBuffering
                    }
                }, {
                    key: "type",
                    get: function () {
                        return this._type
                    }
                }, {
                    key: "status",
                    get: function () {
                        return this._status
                    }
                }, {
                    key: "needStashBuffer",
                    get: function () {
                        return this._needStash
                    }
                }, {
                    key: "onContentLengthKnown",
                    get: function () {
                        return this._onContentLengthKnown
                    },
                    set: function (e) {
                        this._onContentLengthKnown = e
                    }
                }, {
                    key: "onURLRedirect",
                    get: function () {
                        return this._onURLRedirect
                    },
                    set: function (e) {
                        this._onURLRedirect = e
                    }
                }, {
                    key: "onDataArrival",
                    get: function () {
                        return this._onDataArrival
                    },
                    set: function (e) {
                        this._onDataArrival = e
                    }
                }, {
                    key: "onError",
                    get: function () {
                        return this._onError
                    },
                    set: function (e) {
                        this._onError = e
                    }
                }, {
                    key: "onComplete",
                    get: function () {
                        return this._onComplete
                    },
                    set: function (e) {
                        this._onComplete = e
                    }
                }, {
                    key: "open",
                    value: function (e, t) {
                        throw new L("Unimplemented abstract function!")
                    }
                }, {
                    key: "abort",
                    value: function () {
                        throw new L("Unimplemented abstract function!")
                    }
                }]) && k(t.prototype, n), i && k(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            T = {};
        ! function () {
            var e = self.navigator.userAgent.toLowerCase(),
                t = /(edge)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(chrome)[ \/]([\w.]+)/.exec(e) || /(iemobile)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(firefox)[ \/]([\w.]+)/.exec(e) || [],
                n = /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(android)/.exec(e) || /(windows)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || [],
                i = {
                    browser: t[5] || t[3] || t[1] || "",
                    version: t[2] || t[4] || "0",
                    majorVersion: t[4] || t[2] || "0",
                    platform: n[0] || ""
                },
                r = {};
            if (i.browser) {
                r[i.browser] = !0;
                var o = i.majorVersion.split(".");
                r.version = {
                    major: parseInt(i.majorVersion, 10),
                    string: i.version
                }, o.length > 1 && (r.version.minor = parseInt(o[1], 10)), o.length > 2 && (r.version.build = parseInt(o[2], 10))
            }
            if (i.platform && (r[i.platform] = !0), (r.chrome || r.opr || r.safari) && (r.webkit = !0), r.rv || r.iemobile) {
                r.rv && delete r.rv;
                i.browser = "msie", r.msie = !0
            }
            if (r.edge) {
                delete r.edge;
                i.browser = "msedge", r.msedge = !0
            }
            if (r.opr) {
                i.browser = "opera", r.opera = !0
            }
            if (r.safari && r.android) {
                i.browser = "android", r.android = !0
            }
            for (var a in r.name = i.browser, r.platform = i.platform, T) T.hasOwnProperty(a) && delete T[a];
            Object.assign(T, r)
        }();
        var D = T;

        function R(e) {
            return (R = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function O(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function C() {
            return (C = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, n) {
                var i = N(e, t);
                if (i) {
                    var r = Object.getOwnPropertyDescriptor(i, t);
                    return r.get ? r.get.call(arguments.length < 3 ? e : n) : r.value
                }
            }).apply(this, arguments)
        }

        function N(e, t) {
            for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = U(e)););
            return e
        }

        function j(e, t) {
            return (j = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function P(e) {
            var t = function () {
                if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                if (Reflect.construct.sham) return !1;
                if ("function" == typeof Proxy) return !0;
                try {
                    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {}))), !0
                } catch (e) {
                    return !1
                }
            }();
            return function () {
                var n, i = U(e);
                if (t) {
                    var r = U(this).constructor;
                    n = Reflect.construct(i, arguments, r)
                } else n = i.apply(this, arguments);
                return B(this, n)
            }
        }

        function B(e, t) {
            if (t && ("object" === R(t) || "function" == typeof t)) return t;
            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
            return function (e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e)
        }

        function U(e) {
            return (U = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }
        var z = function (e) {
            ! function (e, t) {
                if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), Object.defineProperty(e, "prototype", {
                    writable: !1
                }), t && j(e, t)
            }(o, e);
            var t, n, i, r = P(o);

            function o(e, t) {
                var n;
                return function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, o), (n = r.call(this, "fetch-stream-loader")).TAG = "FetchStreamLoader", n._seekHandler = e, n._config = t, n._needStash = !0, n._requestAbort = !1, n._contentLength = null, n._receivedLength = 0, n
            }
            return t = o, i = [{
                key: "isSupported",
                value: function () {
                    try {
                        var e = D.msedge && D.version.minor >= 15048,
                            t = !D.msedge || e;
                        return self.fetch && self.ReadableStream && t
                    } catch (e) {
                        return !1
                    }
                }
            }], (n = [{
                key: "destroy",
                value: function () {
                    this.isWorking() && this.abort(), C(U(o.prototype), "destroy", this).call(this)
                }
            }, {
                key: "open",
                value: function (e, t) {
                    var n = this;
                    this._dataSource = e, this._range = t;
                    var i = e.url;
                    this._config.reuseRedirectedURL && null != e.redirectedURL && (i = e.redirectedURL);
                    var r = this._seekHandler.getConfig(i, t),
                        o = new self.Headers;
                    if ("object" === R(r.headers)) {
                        var a = r.headers;
                        for (var s in a) a.hasOwnProperty(s) && o.append(s, a[s])
                    }
                    var u = {
                        method: "GET",
                        headers: o,
                        mode: "cors",
                        cache: "default",
                        referrerPolicy: "no-referrer-when-downgrade"
                    };
                    if ("object" === R(this._config.headers))
                        for (var c in this._config.headers) o.append(c, this._config.headers[c]);
                    !1 === e.cors && (u.mode = "same-origin"), e.withCredentials && (u.credentials = "include"), e.referrerPolicy && (u.referrerPolicy = e.referrerPolicy), this._status = M.kConnecting, self.fetch(r.url, u).then((function (e) {
                        if (n._requestAbort) return n._requestAbort = !1, void(n._status = M.kIdle);
                        if (e.ok && e.status >= 200 && e.status <= 299) {
                            if (e.url !== r.url && n._onURLRedirect) {
                                var t = n._seekHandler.removeURLParameters(e.url);
                                n._onURLRedirect(t)
                            }
                            var i = e.headers.get("Content-Length");
                            return null != i && (n._contentLength = parseInt(i), 0 !== n._contentLength && n._onContentLengthKnown && n._onContentLengthKnown(n._contentLength)), n._pump.call(n, e.body.getReader())
                        }
                        if (n._status = M.kError, !n._onError) throw new w("FetchStreamLoader: Http code invalid, " + e.status + " " + e.statusText);
                        n._onError(I.HTTP_STATUS_CODE_INVALID, {
                            code: e.status,
                            msg: e.statusText
                        })
                    })).catch((function (e) {
                        if (n._status = M.kError, !n._onError) throw e;
                        n._onError(I.EXCEPTION, {
                            code: -1,
                            msg: e.message
                        })
                    }))
                }
            }, {
                key: "abort",
                value: function () {
                    this._requestAbort = !0
                }
            }, {
                key: "_pump",
                value: function (e) {
                    var t = this;
                    return e.read().then((function (n) {
                        if (n.done)
                            if (null !== t._contentLength && t._receivedLength < t._contentLength) {
                                t._status = M.kError;
                                var i = I.EARLY_EOF,
                                    r = {
                                        code: -1,
                                        msg: "Fetch stream meet Early-EOF"
                                    };
                                if (!t._onError) throw new w(r.msg);
                                t._onError(i, r)
                            } else t._status = M.kComplete, t._onComplete && t._onComplete(t._range.from, t._range.from + t._receivedLength - 1);
                        else {
                            if (!0 === t._requestAbort) return t._requestAbort = !1, t._status = M.kComplete, e.cancel();
                            t._status = M.kBuffering;
                            var o = n.value.buffer,
                                a = t._range.from + t._receivedLength;
                            t._receivedLength += o.byteLength, t._onDataArrival && t._onDataArrival(o, a, t._receivedLength), t._pump(e)
                        }
                    })).catch((function (e) {
                        if (11 !== e.code || !D.msedge) {
                            t._status = M.kError;
                            var n = 0,
                                i = null;
                            if (19 !== e.code && "network error" !== e.message || !(null === t._contentLength || null !== t._contentLength && t._receivedLength < t._contentLength) ? (n = I.EXCEPTION, i = {
                                    code: e.code,
                                    msg: e.message
                                }) : (n = I.EARLY_EOF, i = {
                                    code: e.code,
                                    msg: "Fetch stream meet Early-EOF"
                                }), !t._onError) throw new w(i.msg);
                            t._onError(n, i)
                        }
                    }))
                }
            }]) && O(t.prototype, n), i && O(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), o
        }(A);

        function V(e) {
            return (V = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function G(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function H() {
            return (H = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, n) {
                var i = W(e, t);
                if (i) {
                    var r = Object.getOwnPropertyDescriptor(i, t);
                    return r.get ? r.get.call(arguments.length < 3 ? e : n) : r.value
                }
            }).apply(this, arguments)
        }

        function W(e, t) {
            for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = K(e)););
            return e
        }

        function Y(e, t) {
            return (Y = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Z(e) {
            var t = function () {
                if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                if (Reflect.construct.sham) return !1;
                if ("function" == typeof Proxy) return !0;
                try {
                    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {}))), !0
                } catch (e) {
                    return !1
                }
            }();
            return function () {
                var n, i = K(e);
                if (t) {
                    var r = K(this).constructor;
                    n = Reflect.construct(i, arguments, r)
                } else n = i.apply(this, arguments);
                return Q(this, n)
            }
        }

        function Q(e, t) {
            if (t && ("object" === V(t) || "function" == typeof t)) return t;
            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
            return function (e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e)
        }

        function K(e) {
            return (K = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }
        var J = function (e) {
            ! function (e, t) {
                if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), Object.defineProperty(e, "prototype", {
                    writable: !1
                }), t && Y(e, t)
            }(o, e);
            var t, n, i, r = Z(o);

            function o(e, t) {
                var n;
                return function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, o), (n = r.call(this, "xhr-moz-chunked-loader")).TAG = "MozChunkedLoader", n._seekHandler = e, n._config = t, n._needStash = !0, n._xhr = null, n._requestAbort = !1, n._contentLength = null, n._receivedLength = 0, n
            }
            return t = o, i = [{
                key: "isSupported",
                value: function () {
                    try {
                        var e = new XMLHttpRequest;
                        return e.open("GET", "https://example.com", !0), e.responseType = "moz-chunked-arraybuffer", "moz-chunked-arraybuffer" === e.responseType
                    } catch (e) {
                        return l.w("MozChunkedLoader", e.message), !1
                    }
                }
            }], (n = [{
                key: "destroy",
                value: function () {
                    this.isWorking() && this.abort(), this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onloadend = null, this._xhr.onerror = null, this._xhr = null), H(K(o.prototype), "destroy", this).call(this)
                }
            }, {
                key: "open",
                value: function (e, t) {
                    this._dataSource = e, this._range = t;
                    var n = e.url;
                    this._config.reuseRedirectedURL && null != e.redirectedURL && (n = e.redirectedURL);
                    var i = this._seekHandler.getConfig(n, t);
                    this._requestURL = i.url;
                    var r = this._xhr = new XMLHttpRequest;
                    if (r.open("GET", i.url, !0), r.responseType = "moz-chunked-arraybuffer", r.onreadystatechange = this._onReadyStateChange.bind(this), r.onprogress = this._onProgress.bind(this), r.onloadend = this._onLoadEnd.bind(this), r.onerror = this._onXhrError.bind(this), e.withCredentials && (r.withCredentials = !0), "object" === V(i.headers)) {
                        var o = i.headers;
                        for (var a in o) o.hasOwnProperty(a) && r.setRequestHeader(a, o[a])
                    }
                    if ("object" === V(this._config.headers)) {
                        var s = this._config.headers;
                        for (var u in s) s.hasOwnProperty(u) && r.setRequestHeader(u, s[u])
                    }
                    this._status = M.kConnecting, r.send()
                }
            }, {
                key: "abort",
                value: function () {
                    this._requestAbort = !0, this._xhr && this._xhr.abort(), this._status = M.kComplete
                }
            }, {
                key: "_onReadyStateChange",
                value: function (e) {
                    var t = e.target;
                    if (2 === t.readyState) {
                        if (null != t.responseURL && t.responseURL !== this._requestURL && this._onURLRedirect) {
                            var n = this._seekHandler.removeURLParameters(t.responseURL);
                            this._onURLRedirect(n)
                        }
                        if (0 !== t.status && (t.status < 200 || t.status > 299)) {
                            if (this._status = M.kError, !this._onError) throw new w("MozChunkedLoader: Http code invalid, " + t.status + " " + t.statusText);
                            this._onError(I.HTTP_STATUS_CODE_INVALID, {
                                code: t.status,
                                msg: t.statusText
                            })
                        } else this._status = M.kBuffering
                    }
                }
            }, {
                key: "_onProgress",
                value: function (e) {
                    if (this._status !== M.kError) {
                        null === this._contentLength && null !== e.total && 0 !== e.total && (this._contentLength = e.total, this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength));
                        var t = e.target.response,
                            n = this._range.from + this._receivedLength;
                        this._receivedLength += t.byteLength, this._onDataArrival && this._onDataArrival(t, n, this._receivedLength)
                    }
                }
            }, {
                key: "_onLoadEnd",
                value: function (e) {
                    !0 !== this._requestAbort ? this._status !== M.kError && (this._status = M.kComplete, this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1)) : this._requestAbort = !1
                }
            }, {
                key: "_onXhrError",
                value: function (e) {
                    this._status = M.kError;
                    var t = 0,
                        n = null;
                    if (this._contentLength && e.loaded < this._contentLength ? (t = I.EARLY_EOF, n = {
                            code: -1,
                            msg: "Moz-Chunked stream meet Early-Eof"
                        }) : (t = I.EXCEPTION, n = {
                            code: -1,
                            msg: e.constructor.name + " " + e.type
                        }), !this._onError) throw new w(n.msg);
                    this._onError(t, n)
                }
            }]) && G(t.prototype, n), i && G(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), o
        }(A);

        function X(e) {
            return (X = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function q(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function $() {
            return ($ = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, n) {
                var i = ee(e, t);
                if (i) {
                    var r = Object.getOwnPropertyDescriptor(i, t);
                    return r.get ? r.get.call(arguments.length < 3 ? e : n) : r.value
                }
            }).apply(this, arguments)
        }

        function ee(e, t) {
            for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = re(e)););
            return e
        }

        function te(e, t) {
            return (te = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function ne(e) {
            var t = function () {
                if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                if (Reflect.construct.sham) return !1;
                if ("function" == typeof Proxy) return !0;
                try {
                    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {}))), !0
                } catch (e) {
                    return !1
                }
            }();
            return function () {
                var n, i = re(e);
                if (t) {
                    var r = re(this).constructor;
                    n = Reflect.construct(i, arguments, r)
                } else n = i.apply(this, arguments);
                return ie(this, n)
            }
        }

        function ie(e, t) {
            if (t && ("object" === X(t) || "function" == typeof t)) return t;
            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
            return function (e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e)
        }

        function re(e) {
            return (re = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }
        var oe = function (e) {
            ! function (e, t) {
                if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), Object.defineProperty(e, "prototype", {
                    writable: !1
                }), t && te(e, t)
            }(o, e);
            var t, n, i, r = ne(o);

            function o(e, t) {
                var n;
                return function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, o), (n = r.call(this, "xhr-range-loader")).TAG = "RangeLoader", n._seekHandler = e, n._config = t, n._needStash = !1, n._chunkSizeKBList = [128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 5120, 6144, 7168, 8192], n._currentChunkSizeKB = 384, n._currentSpeedNormalized = 0, n._zeroSpeedChunkCount = 0, n._xhr = null, n._speedSampler = new f, n._requestAbort = !1, n._waitForTotalLength = !1, n._totalLengthReceived = !1, n._currentRequestURL = null, n._currentRedirectedURL = null, n._currentRequestRange = null, n._totalLength = null, n._contentLength = null, n._receivedLength = 0, n._lastTimeLoaded = 0, n
            }
            return t = o, i = [{
                key: "isSupported",
                value: function () {
                    try {
                        var e = new XMLHttpRequest;
                        return e.open("GET", "https://example.com", !0), e.responseType = "arraybuffer", "arraybuffer" === e.responseType
                    } catch (e) {
                        return l.w("RangeLoader", e.message), !1
                    }
                }
            }], (n = [{
                key: "destroy",
                value: function () {
                    this.isWorking() && this.abort(), this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onload = null, this._xhr.onerror = null, this._xhr = null), $(re(o.prototype), "destroy", this).call(this)
                }
            }, {
                key: "currentSpeed",
                get: function () {
                    return this._speedSampler.lastSecondKBps
                }
            }, {
                key: "open",
                value: function (e, t) {
                    this._dataSource = e, this._range = t, this._status = M.kConnecting;
                    var n = !1;
                    null != this._dataSource.filesize && 0 !== this._dataSource.filesize && (n = !0, this._totalLength = this._dataSource.filesize), this._totalLengthReceived || n ? this._openSubRange() : (this._waitForTotalLength = !0, this._internalOpen(this._dataSource, {
                        from: 0,
                        to: -1
                    }))
                }
            }, {
                key: "_openSubRange",
                value: function () {
                    var e = 1024 * this._currentChunkSizeKB,
                        t = this._range.from + this._receivedLength,
                        n = t + e;
                    null != this._contentLength && n - this._range.from >= this._contentLength && (n = this._range.from + this._contentLength - 1), this._currentRequestRange = {
                        from: t,
                        to: n
                    }, this._internalOpen(this._dataSource, this._currentRequestRange)
                }
            }, {
                key: "_internalOpen",
                value: function (e, t) {
                    this._lastTimeLoaded = 0;
                    var n = e.url;
                    this._config.reuseRedirectedURL && (null != this._currentRedirectedURL ? n = this._currentRedirectedURL : null != e.redirectedURL && (n = e.redirectedURL));
                    var i = this._seekHandler.getConfig(n, t);
                    this._currentRequestURL = i.url;
                    var r = this._xhr = new XMLHttpRequest;
                    if (r.open("GET", i.url, !0), r.responseType = "arraybuffer", r.onreadystatechange = this._onReadyStateChange.bind(this), r.onprogress = this._onProgress.bind(this), r.onload = this._onLoad.bind(this), r.onerror = this._onXhrError.bind(this), e.withCredentials && (r.withCredentials = !0), "object" === X(i.headers)) {
                        var o = i.headers;
                        for (var a in o) o.hasOwnProperty(a) && r.setRequestHeader(a, o[a])
                    }
                    if ("object" === X(this._config.headers)) {
                        var s = this._config.headers;
                        for (var u in s) s.hasOwnProperty(u) && r.setRequestHeader(u, s[u])
                    }
                    r.send()
                }
            }, {
                key: "abort",
                value: function () {
                    this._requestAbort = !0, this._internalAbort(), this._status = M.kComplete
                }
            }, {
                key: "_internalAbort",
                value: function () {
                    this._xhr && (this._xhr.onreadystatechange = null, this._xhr.onprogress = null, this._xhr.onload = null, this._xhr.onerror = null, this._xhr.abort(), this._xhr = null)
                }
            }, {
                key: "_onReadyStateChange",
                value: function (e) {
                    var t = e.target;
                    if (2 === t.readyState) {
                        if (null != t.responseURL) {
                            var n = this._seekHandler.removeURLParameters(t.responseURL);
                            t.responseURL !== this._currentRequestURL && n !== this._currentRedirectedURL && (this._currentRedirectedURL = n, this._onURLRedirect && this._onURLRedirect(n))
                        }
                        if (t.status >= 200 && t.status <= 299) {
                            if (this._waitForTotalLength) return;
                            this._status = M.kBuffering
                        } else {
                            if (this._status = M.kError, !this._onError) throw new w("RangeLoader: Http code invalid, " + t.status + " " + t.statusText);
                            this._onError(I.HTTP_STATUS_CODE_INVALID, {
                                code: t.status,
                                msg: t.statusText
                            })
                        }
                    }
                }
            }, {
                key: "_onProgress",
                value: function (e) {
                    if (this._status !== M.kError) {
                        if (null === this._contentLength) {
                            var t = !1;
                            if (this._waitForTotalLength) {
                                this._waitForTotalLength = !1, this._totalLengthReceived = !0, t = !0;
                                var n = e.total;
                                this._internalAbort(), null != n & 0 !== n && (this._totalLength = n)
                            }
                            if (-1 === this._range.to ? this._contentLength = this._totalLength - this._range.from : this._contentLength = this._range.to - this._range.from + 1, t) return void this._openSubRange();
                            this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength)
                        }
                        var i = e.loaded - this._lastTimeLoaded;
                        this._lastTimeLoaded = e.loaded, this._speedSampler.addBytes(i)
                    }
                }
            }, {
                key: "_normalizeSpeed",
                value: function (e) {
                    var t = this._chunkSizeKBList,
                        n = t.length - 1,
                        i = 0,
                        r = 0,
                        o = n;
                    if (e < t[0]) return t[0];
                    for (; r <= o;) {
                        if ((i = r + Math.floor((o - r) / 2)) === n || e >= t[i] && e < t[i + 1]) return t[i];
                        t[i] < e ? r = i + 1 : o = i - 1
                    }
                }
            }, {
                key: "_onLoad",
                value: function (e) {
                    if (this._status !== M.kError)
                        if (this._waitForTotalLength) this._waitForTotalLength = !1;
                        else {
                            this._lastTimeLoaded = 0;
                            var t = this._speedSampler.lastSecondKBps;
                            if (0 === t && (this._zeroSpeedChunkCount++, this._zeroSpeedChunkCount >= 3 && (t = this._speedSampler.currentKBps)), 0 !== t) {
                                var n = this._normalizeSpeed(t);
                                this._currentSpeedNormalized !== n && (this._currentSpeedNormalized = n, this._currentChunkSizeKB = n)
                            }
                            var i = e.target.response,
                                r = this._range.from + this._receivedLength;
                            this._receivedLength += i.byteLength;
                            var o = !1;
                            null != this._contentLength && this._receivedLength < this._contentLength ? this._openSubRange() : o = !0, this._onDataArrival && this._onDataArrival(i, r, this._receivedLength), o && (this._status = M.kComplete, this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1))
                        }
                }
            }, {
                key: "_onXhrError",
                value: function (e) {
                    this._status = M.kError;
                    var t = 0,
                        n = null;
                    if (this._contentLength && this._receivedLength > 0 && this._receivedLength < this._contentLength ? (t = I.EARLY_EOF, n = {
                            code: -1,
                            msg: "RangeLoader meet Early-Eof"
                        }) : (t = I.EXCEPTION, n = {
                            code: -1,
                            msg: e.constructor.name + " " + e.type
                        }), !this._onError) throw new w(n.msg);
                    this._onError(t, n)
                }
            }]) && q(t.prototype, n), i && q(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), o
        }(A);

        function ae(e) {
            return (ae = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function se(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function ue() {
            return (ue = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, n) {
                var i = ce(e, t);
                if (i) {
                    var r = Object.getOwnPropertyDescriptor(i, t);
                    return r.get ? r.get.call(arguments.length < 3 ? e : n) : r.value
                }
            }).apply(this, arguments)
        }

        function ce(e, t) {
            for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = de(e)););
            return e
        }

        function le(e, t) {
            return (le = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function he(e) {
            var t = function () {
                if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
                if (Reflect.construct.sham) return !1;
                if ("function" == typeof Proxy) return !0;
                try {
                    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {}))), !0
                } catch (e) {
                    return !1
                }
            }();
            return function () {
                var n, i = de(e);
                if (t) {
                    var r = de(this).constructor;
                    n = Reflect.construct(i, arguments, r)
                } else n = i.apply(this, arguments);
                return fe(this, n)
            }
        }

        function fe(e, t) {
            if (t && ("object" === ae(t) || "function" == typeof t)) return t;
            if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
            return function (e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e)
        }

        function de(e) {
            return (de = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }
        var pe = function (e) {
            ! function (e, t) {
                if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), Object.defineProperty(e, "prototype", {
                    writable: !1
                }), t && le(e, t)
            }(o, e);
            var t, n, i, r = he(o);

            function o() {
                var e;
                return function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, o), (e = r.call(this, "websocket-loader")).TAG = "WebSocketLoader", e._needStash = !0, e._ws = null, e._requestAbort = !1, e._receivedLength = 0, e
            }
            return t = o, i = [{
                key: "isSupported",
                value: function () {
                    try {
                        return void 0 !== self.WebSocket
                    } catch (e) {
                        return !1
                    }
                }
            }], (n = [{
                key: "destroy",
                value: function () {
                    this._ws && this.abort(), ue(de(o.prototype), "destroy", this).call(this)
                }
            }, {
                key: "open",
                value: function (e) {
                    try {
                        var t = this._ws = new self.WebSocket(e.url);
                        t.binaryType = "arraybuffer", t.onopen = this._onWebSocketOpen.bind(this), t.onclose = this._onWebSocketClose.bind(this), t.onmessage = this._onWebSocketMessage.bind(this), t.onerror = this._onWebSocketError.bind(this), this._status = M.kConnecting
                    } catch (e) {
                        this._status = M.kError;
                        var n = {
                            code: e.code,
                            msg: e.message
                        };
                        if (!this._onError) throw new w(n.msg);
                        this._onError(I.EXCEPTION, n)
                    }
                }
            }, {
                key: "abort",
                value: function () {
                    var e = this._ws;
                    !e || 0 !== e.readyState && 1 !== e.readyState || (this._requestAbort = !0, e.close()), this._ws = null, this._status = M.kComplete
                }
            }, {
                key: "_onWebSocketOpen",
                value: function (e) {
                    this._status = M.kBuffering
                }
            }, {
                key: "_onWebSocketClose",
                value: function (e) {
                    !0 !== this._requestAbort ? (this._status = M.kComplete, this._onComplete && this._onComplete(0, this._receivedLength - 1)) : this._requestAbort = !1
                }
            }, {
                key: "_onWebSocketMessage",
                value: function (e) {
                    var t = this;
                    if (e.data instanceof ArrayBuffer) this._dispatchArrayBuffer(e.data);
                    else if (e.data instanceof Blob) {
                        var n = new FileReader;
                        n.onload = function () {
                            t._dispatchArrayBuffer(n.result)
                        }, n.readAsArrayBuffer(e.data)
                    } else {
                        this._status = M.kError;
                        var i = {
                            code: -1,
                            msg: "Unsupported WebSocket message type: " + e.data.constructor.name
                        };
                        if (!this._onError) throw new w(i.msg);
                        this._onError(I.EXCEPTION, i)
                    }
                }
            }, {
                key: "_dispatchArrayBuffer",
                value: function (e) {
                    var t = e,
                        n = this._receivedLength;
                    this._receivedLength += t.byteLength, this._onDataArrival && this._onDataArrival(t, n, this._receivedLength)
                }
            }, {
                key: "_onWebSocketError",
                value: function (e) {
                    this._status = M.kError;
                    var t = {
                        code: e.code,
                        msg: e.message
                    };
                    if (!this._onError) throw new w(t.msg);
                    this._onError(I.EXCEPTION, t)
                }
            }]) && se(t.prototype, n), i && se(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), o
        }(A);

        function _e(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var ve = function () {
            function e(t) {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._zeroStart = t || !1
            }
            var t, n, i;
            return t = e, (n = [{
                key: "getConfig",
                value: function (e, t) {
                    var n, i = {};
                    return 0 !== t.from || -1 !== t.to ? (n = -1 !== t.to ? "bytes=".concat(t.from.toString(), "-").concat(t.to.toString()) : "bytes=".concat(t.from.toString(), "-"), i.Range = n) : this._zeroStart && (i.Range = "bytes=0-"), {
                        url: e,
                        headers: i
                    }
                }
            }, {
                key: "removeURLParameters",
                value: function (e) {
                    return e
                }
            }]) && _e(t.prototype, n), i && _e(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function me(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var ge = function () {
            function e(t, n) {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._startName = t, this._endName = n
            }
            var t, n, i;
            return t = e, (n = [{
                key: "getConfig",
                value: function (e, t) {
                    var n = e;
                    if (0 !== t.from || -1 !== t.to) {
                        var i = !0; - 1 === n.indexOf("?") && (n += "?", i = !1), i && (n += "&"), n += "".concat(this._startName, "=").concat(t.from.toString()), -1 !== t.to && (n += "&".concat(this._endName, "=").concat(t.to.toString()))
                    }
                    return {
                        url: n,
                        headers: {}
                    }
                }
            }, {
                key: "removeURLParameters",
                value: function (e) {
                    var t = e.split("?")[0],
                        n = void 0,
                        i = e.indexOf("?"); - 1 !== i && (n = e.substring(i + 1));
                    var r = "";
                    if (null != n && n.length > 0)
                        for (var o = n.split("&"), a = 0; a < o.length; a++) {
                            var s = o[a].split("="),
                                u = a > 0;
                            s[0] !== this._startName && s[0] !== this._endName && (u && (r += "&"), r += o[a])
                        }
                    return 0 === r.length ? t : t + "?" + r
                }
            }]) && me(t.prototype, n), i && me(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function ye(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var be = function () {
                function e(t, n, i) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TAG = "IOController", this._config = n, this._extraData = i, this._stashInitialSize = 393216, null != n.stashInitialSize && n.stashInitialSize > 0 && (this._stashInitialSize = n.stashInitialSize), this._stashUsed = 0, this._stashSize = this._stashInitialSize, this._bufferSize = 3145728, this._stashBuffer = new ArrayBuffer(this._bufferSize), this._stashByteStart = 0, this._enableStash = !0, !1 === n.enableStashBuffer && (this._enableStash = !1), this._loader = null, this._loaderClass = null, this._seekHandler = null, this._dataSource = t, this._isWebSocketURL = /wss?:\/\/(.+?)/.test(t.url), this._refTotalLength = t.filesize ? t.filesize : null, this._totalLength = this._refTotalLength, this._fullRequestFlag = !1, this._currentRange = null, this._redirectedURL = null, this._speedNormalized = 0, this._speedSampler = new f, this._speedNormalizeList = [64, 128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096], this._isEarlyEofReconnecting = !1, this._paused = !1, this._resumeFrom = 0, this._onDataArrival = null, this._onSeeked = null, this._onError = null, this._onComplete = null, this._onRedirect = null, this._onRecoveredEarlyEof = null, this._selectSeekHandler(), this._selectLoader(), this._createLoader()
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "destroy",
                    value: function () {
                        this._loader.isWorking() && this._loader.abort(), this._loader.destroy(), this._loader = null, this._loaderClass = null, this._dataSource = null, this._stashBuffer = null, this._stashUsed = this._stashSize = this._bufferSize = this._stashByteStart = 0, this._currentRange = null, this._speedSampler = null, this._isEarlyEofReconnecting = !1, this._onDataArrival = null, this._onSeeked = null, this._onError = null, this._onComplete = null, this._onRedirect = null, this._onRecoveredEarlyEof = null, this._extraData = null
                    }
                }, {
                    key: "isWorking",
                    value: function () {
                        return this._loader && this._loader.isWorking() && !this._paused
                    }
                }, {
                    key: "isPaused",
                    value: function () {
                        return this._paused
                    }
                }, {
                    key: "status",
                    get: function () {
                        return this._loader.status
                    }
                }, {
                    key: "extraData",
                    get: function () {
                        return this._extraData
                    },
                    set: function (e) {
                        this._extraData = e
                    }
                }, {
                    key: "onDataArrival",
                    get: function () {
                        return this._onDataArrival
                    },
                    set: function (e) {
                        this._onDataArrival = e
                    }
                }, {
                    key: "onSeeked",
                    get: function () {
                        return this._onSeeked
                    },
                    set: function (e) {
                        this._onSeeked = e
                    }
                }, {
                    key: "onError",
                    get: function () {
                        return this._onError
                    },
                    set: function (e) {
                        this._onError = e
                    }
                }, {
                    key: "onComplete",
                    get: function () {
                        return this._onComplete
                    },
                    set: function (e) {
                        this._onComplete = e
                    }
                }, {
                    key: "onRedirect",
                    get: function () {
                        return this._onRedirect
                    },
                    set: function (e) {
                        this._onRedirect = e
                    }
                }, {
                    key: "onRecoveredEarlyEof",
                    get: function () {
                        return this._onRecoveredEarlyEof
                    },
                    set: function (e) {
                        this._onRecoveredEarlyEof = e
                    }
                }, {
                    key: "currentURL",
                    get: function () {
                        return this._dataSource.url
                    }
                }, {
                    key: "hasRedirect",
                    get: function () {
                        return null != this._redirectedURL || null != this._dataSource.redirectedURL
                    }
                }, {
                    key: "currentRedirectedURL",
                    get: function () {
                        return this._redirectedURL || this._dataSource.redirectedURL
                    }
                }, {
                    key: "currentSpeed",
                    get: function () {
                        return this._loaderClass === oe ? this._loader.currentSpeed : this._speedSampler.lastSecondKBps
                    }
                }, {
                    key: "loaderType",
                    get: function () {
                        return this._loader.type
                    }
                }, {
                    key: "_selectSeekHandler",
                    value: function () {
                        var e = this._config;
                        if ("range" === e.seekType) this._seekHandler = new ve(this._config.rangeLoadZeroStart);
                        else if ("param" === e.seekType) {
                            var t = e.seekParamStart || "bstart",
                                n = e.seekParamEnd || "bend";
                            this._seekHandler = new ge(t, n)
                        } else {
                            if ("custom" !== e.seekType) throw new x("Invalid seekType in config: ".concat(e.seekType));
                            if ("function" != typeof e.customSeekHandler) throw new x("Custom seekType specified in config but invalid customSeekHandler!");
                            this._seekHandler = new e.customSeekHandler
                        }
                    }
                }, {
                    key: "_selectLoader",
                    value: function () {
                        if (null != this._config.customLoader) this._loaderClass = this._config.customLoader;
                        else if (this._isWebSocketURL) this._loaderClass = pe;
                        else if (z.isSupported()) this._loaderClass = z;
                        else if (J.isSupported()) this._loaderClass = J;
                        else {
                            if (!oe.isSupported()) throw new w("Your browser doesn't support xhr with arraybuffer responseType!");
                            this._loaderClass = oe
                        }
                    }
                }, {
                    key: "_createLoader",
                    value: function () {
                        this._loader = new this._loaderClass(this._seekHandler, this._config), !1 === this._loader.needStashBuffer && (this._enableStash = !1), this._loader.onContentLengthKnown = this._onContentLengthKnown.bind(this), this._loader.onURLRedirect = this._onURLRedirect.bind(this), this._loader.onDataArrival = this._onLoaderChunkArrival.bind(this), this._loader.onComplete = this._onLoaderComplete.bind(this), this._loader.onError = this._onLoaderError.bind(this)
                    }
                }, {
                    key: "open",
                    value: function (e) {
                        this._currentRange = {
                            from: 0,
                            to: -1
                        }, e && (this._currentRange.from = e), this._speedSampler.reset(), e || (this._fullRequestFlag = !0), this._loader.open(this._dataSource, Object.assign({}, this._currentRange))
                    }
                }, {
                    key: "abort",
                    value: function () {
                        this._loader.abort(), this._paused && (this._paused = !1, this._resumeFrom = 0)
                    }
                }, {
                    key: "pause",
                    value: function () {
                        this.isWorking() && (this._loader.abort(), 0 !== this._stashUsed ? (this._resumeFrom = this._stashByteStart, this._currentRange.to = this._stashByteStart - 1) : this._resumeFrom = this._currentRange.to + 1, this._stashUsed = 0, this._stashByteStart = 0, this._paused = !0)
                    }
                }, {
                    key: "resume",
                    value: function () {
                        if (this._paused) {
                            this._paused = !1;
                            var e = this._resumeFrom;
                            this._resumeFrom = 0, this._internalSeek(e, !0)
                        }
                    }
                }, {
                    key: "seek",
                    value: function (e) {
                        this._paused = !1, this._stashUsed = 0, this._stashByteStart = 0, this._internalSeek(e, !0)
                    }
                }, {
                    key: "_internalSeek",
                    value: function (e, t) {
                        this._loader.isWorking() && this._loader.abort(), this._flushStashBuffer(t), this._loader.destroy(), this._loader = null;
                        var n = {
                            from: e,
                            to: -1
                        };
                        this._currentRange = {
                            from: n.from,
                            to: -1
                        }, this._speedSampler.reset(), this._stashSize = this._stashInitialSize, this._createLoader(), this._loader.open(this._dataSource, n), this._onSeeked && this._onSeeked()
                    }
                }, {
                    key: "updateUrl",
                    value: function (e) {
                        if (!e || "string" != typeof e || 0 === e.length) throw new x("Url must be a non-empty string!");
                        this._dataSource.url = e
                    }
                }, {
                    key: "_expandBuffer",
                    value: function (e) {
                        for (var t = this._stashSize; t + 1048576 < e;) t *= 2;
                        if ((t += 1048576) !== this._bufferSize) {
                            var n = new ArrayBuffer(t);
                            if (this._stashUsed > 0) {
                                var i = new Uint8Array(this._stashBuffer, 0, this._stashUsed);
                                new Uint8Array(n, 0, t).set(i, 0)
                            }
                            this._stashBuffer = n, this._bufferSize = t
                        }
                    }
                }, {
                    key: "_normalizeSpeed",
                    value: function (e) {
                        var t = this._speedNormalizeList,
                            n = t.length - 1,
                            i = 0,
                            r = 0,
                            o = n;
                        if (e < t[0]) return t[0];
                        for (; r <= o;) {
                            if ((i = r + Math.floor((o - r) / 2)) === n || e >= t[i] && e < t[i + 1]) return t[i];
                            t[i] < e ? r = i + 1 : o = i - 1
                        }
                    }
                }, {
                    key: "_adjustStashSize",
                    value: function (e) {
                        var t = 0;
                        (t = this._config.isLive || e < 512 ? e : e >= 512 && e <= 1024 ? Math.floor(1.5 * e) : 2 * e) > 8192 && (t = 8192);
                        var n = 1024 * t + 1048576;
                        this._bufferSize < n && this._expandBuffer(n), this._stashSize = 1024 * t
                    }
                }, {
                    key: "_dispatchChunks",
                    value: function (e, t) {
                        return this._currentRange.to = t + e.byteLength - 1, this._onDataArrival(e, t)
                    }
                }, {
                    key: "_onURLRedirect",
                    value: function (e) {
                        this._redirectedURL = e, this._onRedirect && this._onRedirect(e)
                    }
                }, {
                    key: "_onContentLengthKnown",
                    value: function (e) {
                        e && this._fullRequestFlag && (this._totalLength = e, this._fullRequestFlag = !1)
                    }
                }, {
                    key: "_onLoaderChunkArrival",
                    value: function (e, t, n) {
                        if (!this._onDataArrival) throw new S("IOController: No existing consumer (onDataArrival) callback!");
                        if (!this._paused) {
                            this._isEarlyEofReconnecting && (this._isEarlyEofReconnecting = !1, this._onRecoveredEarlyEof && this._onRecoveredEarlyEof()), this._speedSampler.addBytes(e.byteLength);
                            var i = this._speedSampler.lastSecondKBps;
                            if (0 !== i) {
                                var r = this._normalizeSpeed(i);
                                this._speedNormalized !== r && (this._speedNormalized = r, this._adjustStashSize(r))
                            }
                            if (this._enableStash)
                                if (0 === this._stashUsed && 0 === this._stashByteStart && (this._stashByteStart = t), this._stashUsed + e.byteLength <= this._stashSize) new Uint8Array(this._stashBuffer, 0, this._stashSize).set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength;
                                else {
                                    var o = new Uint8Array(this._stashBuffer, 0, this._bufferSize);
                                    if (this._stashUsed > 0) {
                                        var a = this._stashBuffer.slice(0, this._stashUsed),
                                            s = this._dispatchChunks(a, this._stashByteStart);
                                        if (s < a.byteLength) {
                                            if (s > 0) {
                                                var u = new Uint8Array(a, s);
                                                o.set(u, 0), this._stashUsed = u.byteLength, this._stashByteStart += s
                                            }
                                        } else this._stashUsed = 0, this._stashByteStart += s;
                                        this._stashUsed + e.byteLength > this._bufferSize && (this._expandBuffer(this._stashUsed + e.byteLength), o = new Uint8Array(this._stashBuffer, 0, this._bufferSize)), o.set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength
                                    } else {
                                        var c = this._dispatchChunks(e, t);
                                        if (c < e.byteLength) {
                                            var l = e.byteLength - c;
                                            l > this._bufferSize && (this._expandBuffer(l), o = new Uint8Array(this._stashBuffer, 0, this._bufferSize)), o.set(new Uint8Array(e, c), 0), this._stashUsed += l, this._stashByteStart = t + c
                                        }
                                    }
                                }
                            else if (0 === this._stashUsed) {
                                var h = this._dispatchChunks(e, t);
                                if (h < e.byteLength) {
                                    var f = e.byteLength - h;
                                    f > this._bufferSize && this._expandBuffer(f), new Uint8Array(this._stashBuffer, 0, this._bufferSize).set(new Uint8Array(e, h), 0), this._stashUsed += f, this._stashByteStart = t + h
                                }
                            } else {
                                this._stashUsed + e.byteLength > this._bufferSize && this._expandBuffer(this._stashUsed + e.byteLength);
                                var d = new Uint8Array(this._stashBuffer, 0, this._bufferSize);
                                d.set(new Uint8Array(e), this._stashUsed), this._stashUsed += e.byteLength;
                                var p = this._dispatchChunks(this._stashBuffer.slice(0, this._stashUsed), this._stashByteStart);
                                if (p < this._stashUsed && p > 0) {
                                    var _ = new Uint8Array(this._stashBuffer, p);
                                    d.set(_, 0)
                                }
                                this._stashUsed -= p, this._stashByteStart += p
                            }
                        }
                    }
                }, {
                    key: "_flushStashBuffer",
                    value: function (e) {
                        if (this._stashUsed > 0) {
                            var t = this._stashBuffer.slice(0, this._stashUsed),
                                n = this._dispatchChunks(t, this._stashByteStart),
                                i = t.byteLength - n;
                            if (n < t.byteLength) {
                                if (!e) {
                                    if (n > 0) {
                                        var r = new Uint8Array(this._stashBuffer, 0, this._bufferSize),
                                            o = new Uint8Array(t, n);
                                        r.set(o, 0), this._stashUsed = o.byteLength, this._stashByteStart += n
                                    }
                                    return 0
                                }
                                l.w(this.TAG, "".concat(i, " bytes unconsumed data remain when flush buffer, dropped"))
                            }
                            return this._stashUsed = 0, this._stashByteStart = 0, i
                        }
                        return 0
                    }
                }, {
                    key: "_onLoaderComplete",
                    value: function (e, t) {
                        this._flushStashBuffer(!0), this._onComplete && this._onComplete(this._extraData)
                    }
                }, {
                    key: "_onLoaderError",
                    value: function (e, t) {
                        switch (l.e(this.TAG, "Loader error, code = ".concat(t.code, ", msg = ").concat(t.msg)), this._flushStashBuffer(!1), this._isEarlyEofReconnecting && (this._isEarlyEofReconnecting = !1, e = I.UNRECOVERABLE_EARLY_EOF), e) {
                            case I.EARLY_EOF:
                                if (!this._config.isLive && this._totalLength) {
                                    var n = this._currentRange.to + 1;
                                    return void(n < this._totalLength && (l.w(this.TAG, "Connection lost, trying reconnect..."), this._isEarlyEofReconnecting = !0, this._internalSeek(n, !1)))
                                }
                                e = I.UNRECOVERABLE_EARLY_EOF
                        }
                        if (!this._onError) throw new w("IOException: " + t.msg);
                        this._onError(e, t)
                    }
                }]) && ye(t.prototype, n), i && ye(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            Ee = {
                enableWorker: !1,
                enableStashBuffer: !0,
                stashInitialSize: void 0,
                isLive: !1,
                lazyLoad: !0,
                lazyLoadMaxDuration: 180,
                lazyLoadRecoverDuration: 30,
                deferLoadAfterSourceOpen: !0,
                autoCleanupMaxBackwardDuration: 180,
                autoCleanupMinBackwardDuration: 120,
                statisticsInfoReportInterval: 600,
                fixAudioTimestampGap: !0,
                accurateSeek: !1,
                seekType: "range",
                seekParamStart: "bstart",
                seekParamEnd: "bend",
                rangeLoadZeroStart: !1,
                customSeekHandler: void 0,
                reuseRedirectedURL: !1,
                headers: void 0,
                customLoader: void 0
            };

        function we() {
            return Object.assign({}, Ee)
        }

        function Se(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var xe = function () {
                function e() {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e)
                }
                var t, n, i;
                return t = e, i = [{
                    key: "supportMSEH264Playback",
                    value: function () {
                        return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')
                    }
                }, {
                    key: "supportNetworkStreamIO",
                    value: function () {
                        var e = new be({}, we()),
                            t = e.loaderType;
                        return e.destroy(), "fetch-stream-loader" == t || "xhr-moz-chunked-loader" == t
                    }
                }, {
                    key: "getNetworkLoaderTypeName",
                    value: function () {
                        var e = new be({}, we()),
                            t = e.loaderType;
                        return e.destroy(), t
                    }
                }, {
                    key: "supportNativeMediaPlayback",
                    value: function (t) {
                        null == e.videoElement && (e.videoElement = window.document.createElement("video"));
                        var n = e.videoElement.canPlayType(t);
                        return "probably" === n || "maybe" == n
                    }
                }, {
                    key: "getFeatureList",
                    value: function () {
                        var t = {
                            mseFlvPlayback: !1,
                            mseLiveFlvPlayback: !1,
                            networkStreamIO: !1,
                            networkLoaderName: "",
                            nativeMP4H264Playback: !1,
                            nativeWebmVP8Playback: !1,
                            nativeWebmVP9Playback: !1
                        };
                        return t.mseFlvPlayback = e.supportMSEH264Playback(), t.networkStreamIO = e.supportNetworkStreamIO(), t.networkLoaderName = e.getNetworkLoaderTypeName(), t.mseLiveFlvPlayback = t.mseFlvPlayback && t.networkStreamIO, t.nativeMP4H264Playback = e.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'), t.nativeWebmVP8Playback = e.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'), t.nativeWebmVP9Playback = e.supportNativeMediaPlayback('video/webm; codecs="vp9"'), t
                    }
                }], (n = null) && Se(t.prototype, n), i && Se(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            Le = {
                ERROR: "error",
                LOADING_COMPLETE: "loading_complete",
                RECOVERED_EARLY_EOF: "recovered_early_eof",
                MEDIA_INFO: "media_info",
                METADATA_ARRIVED: "metadata_arrived",
                SCRIPTDATA_ARRIVED: "scriptdata_arrived",
                STATISTICS_INFO: "statistics_info"
            };

        function ke(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Me = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, i;
            return t = e, i = [{
                key: "forceGlobalTag",
                get: function () {
                    return l.FORCE_GLOBAL_TAG
                },
                set: function (t) {
                    l.FORCE_GLOBAL_TAG = t, e._notifyChange()
                }
            }, {
                key: "globalTag",
                get: function () {
                    return l.GLOBAL_TAG
                },
                set: function (t) {
                    l.GLOBAL_TAG = t, e._notifyChange()
                }
            }, {
                key: "enableAll",
                get: function () {
                    return l.ENABLE_VERBOSE && l.ENABLE_DEBUG && l.ENABLE_INFO && l.ENABLE_WARN && l.ENABLE_ERROR
                },
                set: function (t) {
                    l.ENABLE_VERBOSE = t, l.ENABLE_DEBUG = t, l.ENABLE_INFO = t, l.ENABLE_WARN = t, l.ENABLE_ERROR = t, e._notifyChange()
                }
            }, {
                key: "enableDebug",
                get: function () {
                    return l.ENABLE_DEBUG
                },
                set: function (t) {
                    l.ENABLE_DEBUG = t, e._notifyChange()
                }
            }, {
                key: "enableVerbose",
                get: function () {
                    return l.ENABLE_VERBOSE
                },
                set: function (t) {
                    l.ENABLE_VERBOSE = t, e._notifyChange()
                }
            }, {
                key: "enableInfo",
                get: function () {
                    return l.ENABLE_INFO
                },
                set: function (t) {
                    l.ENABLE_INFO = t, e._notifyChange()
                }
            }, {
                key: "enableWarn",
                get: function () {
                    return l.ENABLE_WARN
                },
                set: function (t) {
                    l.ENABLE_WARN = t, e._notifyChange()
                }
            }, {
                key: "enableError",
                get: function () {
                    return l.ENABLE_ERROR
                },
                set: function (t) {
                    l.ENABLE_ERROR = t, e._notifyChange()
                }
            }, {
                key: "getConfig",
                value: function () {
                    return {
                        globalTag: l.GLOBAL_TAG,
                        forceGlobalTag: l.FORCE_GLOBAL_TAG,
                        enableVerbose: l.ENABLE_VERBOSE,
                        enableDebug: l.ENABLE_DEBUG,
                        enableInfo: l.ENABLE_INFO,
                        enableWarn: l.ENABLE_WARN,
                        enableError: l.ENABLE_ERROR,
                        enableCallback: l.ENABLE_CALLBACK
                    }
                }
            }, {
                key: "applyConfig",
                value: function (e) {
                    l.GLOBAL_TAG = e.globalTag, l.FORCE_GLOBAL_TAG = e.forceGlobalTag, l.ENABLE_VERBOSE = e.enableVerbose, l.ENABLE_DEBUG = e.enableDebug, l.ENABLE_INFO = e.enableInfo, l.ENABLE_WARN = e.enableWarn, l.ENABLE_ERROR = e.enableError, l.ENABLE_CALLBACK = e.enableCallback
                }
            }, {
                key: "_notifyChange",
                value: function () {
                    var t = e.emitter;
                    if (t.listenerCount("change") > 0) {
                        var n = e.getConfig();
                        t.emit("change", n)
                    }
                }
            }, {
                key: "registerListener",
                value: function (t) {
                    e.emitter.addListener("change", t)
                }
            }, {
                key: "removeListener",
                value: function (t) {
                    e.emitter.removeListener("change", t)
                }
            }, {
                key: "addLogListener",
                value: function (t) {
                    l.emitter.addListener("log", t), l.emitter.listenerCount("log") > 0 && (l.ENABLE_CALLBACK = !0, e._notifyChange())
                }
            }, {
                key: "removeLogListener",
                value: function (t) {
                    l.emitter.removeListener("log", t), 0 === l.emitter.listenerCount("log") && (l.ENABLE_CALLBACK = !1, e._notifyChange())
                }
            }], (n = null) && ke(t.prototype, n), i && ke(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();
        Me.emitter = new s.a;
        var Ie = Me;

        function Ae(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Te = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.mimeType = null, this.duration = null, this.hasAudio = null, this.hasVideo = null, this.audioCodec = null, this.videoCodec = null, this.audioDataRate = null, this.videoDataRate = null, this.audioSampleRate = null, this.audioChannelCount = null, this.width = null, this.height = null, this.fps = null, this.profile = null, this.level = null, this.refFrames = null, this.chromaFormat = null, this.sarNum = null, this.sarDen = null, this.metadata = null, this.segments = null, this.segmentCount = null, this.hasKeyframesIndex = null, this.keyframesIndex = null
            }
            var t, n, i;
            return t = e, (n = [{
                key: "isComplete",
                value: function () {
                    var e = !1 === this.hasAudio || !0 === this.hasAudio && null != this.audioCodec && null != this.audioSampleRate && null != this.audioChannelCount,
                        t = !1 === this.hasVideo || !0 === this.hasVideo && null != this.videoCodec && null != this.width && null != this.height && null != this.fps && null != this.profile && null != this.level && null != this.refFrames && null != this.chromaFormat && null != this.sarNum && null != this.sarDen;
                    return null != this.mimeType && null != this.duration && null != this.metadata && null != this.hasKeyframesIndex && e && t
                }
            }, {
                key: "isSeekable",
                value: function () {
                    return !0 === this.hasKeyframesIndex
                }
            }, {
                key: "getNearestKeyframe",
                value: function (e) {
                    if (null == this.keyframesIndex) return null;
                    var t = this.keyframesIndex,
                        n = this._search(t.times, e);
                    return {
                        index: n,
                        milliseconds: t.times[n],
                        fileposition: t.filepositions[n]
                    }
                }
            }, {
                key: "_search",
                value: function (e, t) {
                    var n = 0,
                        i = e.length - 1,
                        r = 0,
                        o = 0,
                        a = i;
                    for (t < e[0] && (n = 0, o = a + 1); o <= a;) {
                        if ((r = o + Math.floor((a - o) / 2)) === i || t >= e[r] && t < e[r + 1]) {
                            n = r;
                            break
                        }
                        e[r] < t ? o = r + 1 : a = r - 1
                    }
                    return n
                }
            }]) && Ae(t.prototype, n), i && Ae(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function De(e, t, n) {
            var i = e;
            if (t + n < i.length) {
                for (; n--;)
                    if (128 != (192 & i[++t])) return !1;
                return !0
            }
            return !1
        }
        var Re = function (e) {
            for (var t = [], n = e, i = 0, r = e.length; i < r;)
                if (n[i] < 128) t.push(String.fromCharCode(n[i])), ++i;
                else {
                    if (n[i] < 192);
                    else if (n[i] < 224) {
                        if (De(n, i, 1)) {
                            var o = (31 & n[i]) << 6 | 63 & n[i + 1];
                            if (o >= 128) {
                                t.push(String.fromCharCode(65535 & o)), i += 2;
                                continue
                            }
                        }
                    } else if (n[i] < 240) {
                        if (De(n, i, 2)) {
                            var a = (15 & n[i]) << 12 | (63 & n[i + 1]) << 6 | 63 & n[i + 2];
                            if (a >= 2048 && 55296 != (63488 & a)) {
                                t.push(String.fromCharCode(65535 & a)), i += 3;
                                continue
                            }
                        }
                    } else if (n[i] < 248 && De(n, i, 3)) {
                        var s = (7 & n[i]) << 18 | (63 & n[i + 1]) << 12 | (63 & n[i + 2]) << 6 | 63 & n[i + 3];
                        if (s > 65536 && s < 1114112) {
                            s -= 65536, t.push(String.fromCharCode(s >>> 10 | 55296)), t.push(String.fromCharCode(1023 & s | 56320)), i += 4;
                            continue
                        }
                    }
                    t.push(String.fromCharCode(65533)), ++i
                } return t.join("")
        };

        function Oe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Ce, Ne = (Ce = new ArrayBuffer(2), new DataView(Ce).setInt16(0, 256, !0), 256 === new Int16Array(Ce)[0]),
            je = function () {
                function e() {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e)
                }
                var t, n, i;
                return t = e, i = [{
                    key: "parseScriptData",
                    value: function (t, n, i) {
                        var r = {};
                        try {
                            var o = e.parseValue(t, n, i),
                                a = e.parseValue(t, n + o.size, i - o.size);
                            r[o.data] = a.data
                        } catch (e) {
                            l.e("AMF", e.toString())
                        }
                        return r
                    }
                }, {
                    key: "parseObject",
                    value: function (t, n, i) {
                        if (i < 3) throw new S("Data not enough when parse ScriptDataObject");
                        var r = e.parseString(t, n, i),
                            o = e.parseValue(t, n + r.size, i - r.size),
                            a = o.objectEnd;
                        return {
                            data: {
                                name: r.data,
                                value: o.data
                            },
                            size: r.size + o.size,
                            objectEnd: a
                        }
                    }
                }, {
                    key: "parseVariable",
                    value: function (t, n, i) {
                        return e.parseObject(t, n, i)
                    }
                }, {
                    key: "parseString",
                    value: function (e, t, n) {
                        if (n < 2) throw new S("Data not enough when parse String");
                        var i = new DataView(e, t, n).getUint16(0, !Ne);
                        return {
                            data: i > 0 ? Re(new Uint8Array(e, t + 2, i)) : "",
                            size: 2 + i
                        }
                    }
                }, {
                    key: "parseLongString",
                    value: function (e, t, n) {
                        if (n < 4) throw new S("Data not enough when parse LongString");
                        var i = new DataView(e, t, n).getUint32(0, !Ne);
                        return {
                            data: i > 0 ? Re(new Uint8Array(e, t + 4, i)) : "",
                            size: 4 + i
                        }
                    }
                }, {
                    key: "parseDate",
                    value: function (e, t, n) {
                        if (n < 10) throw new S("Data size invalid when parse Date");
                        var i = new DataView(e, t, n),
                            r = i.getFloat64(0, !Ne),
                            o = i.getInt16(8, !Ne);
                        return {
                            data: new Date(r += 60 * o * 1e3),
                            size: 10
                        }
                    }
                }, {
                    key: "parseValue",
                    value: function (t, n, i) {
                        if (i < 1) throw new S("Data not enough when parse Value");
                        var r, o = new DataView(t, n, i),
                            a = 1,
                            s = o.getUint8(0),
                            u = !1;
                        try {
                            switch (s) {
                                case 0:
                                    r = o.getFloat64(1, !Ne), a += 8;
                                    break;
                                case 1:
                                    r = !!o.getUint8(1), a += 1;
                                    break;
                                case 2:
                                    var c = e.parseString(t, n + 1, i - 1);
                                    r = c.data, a += c.size;
                                    break;
                                case 3:
                                    r = {};
                                    var h = 0;
                                    for (9 == (16777215 & o.getUint32(i - 4, !Ne)) && (h = 3); a < i - 4;) {
                                        var f = e.parseObject(t, n + a, i - a - h);
                                        if (f.objectEnd) break;
                                        r[f.data.name] = f.data.value, a += f.size
                                    }
                                    a <= i - 3 && 9 == (16777215 & o.getUint32(a - 1, !Ne)) && (a += 3);
                                    break;
                                case 8:
                                    r = {}, a += 4;
                                    var d = 0;
                                    for (9 == (16777215 & o.getUint32(i - 4, !Ne)) && (d = 3); a < i - 8;) {
                                        var p = e.parseVariable(t, n + a, i - a - d);
                                        if (p.objectEnd) break;
                                        r[p.data.name] = p.data.value, a += p.size
                                    }
                                    a <= i - 3 && 9 == (16777215 & o.getUint32(a - 1, !Ne)) && (a += 3);
                                    break;
                                case 9:
                                    r = void 0, a = 1, u = !0;
                                    break;
                                case 10:
                                    r = [];
                                    var _ = o.getUint32(1, !Ne);
                                    a += 4;
                                    for (var v = 0; v < _; v++) {
                                        var m = e.parseValue(t, n + a, i - a);
                                        r.push(m.data), a += m.size
                                    }
                                    break;
                                case 11:
                                    var g = e.parseDate(t, n + 1, i - 1);
                                    r = g.data, a += g.size;
                                    break;
                                case 12:
                                    var y = e.parseString(t, n + 1, i - 1);
                                    r = y.data, a += y.size;
                                    break;
                                default:
                                    a = i, l.w("AMF", "Unsupported AMF value type " + s)
                            }
                        } catch (e) {
                            l.e("AMF", e.toString())
                        }
                        return {
                            data: r,
                            size: a,
                            objectEnd: u
                        }
                    }
                }], (n = null) && Oe(t.prototype, n), i && Oe(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }();

        function Pe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Be = function () {
            function e(t) {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.TAG = "ExpGolomb", this._buffer = t, this._buffer_index = 0, this._total_bytes = t.byteLength, this._total_bits = 8 * t.byteLength, this._current_word = 0, this._current_word_bits_left = 0
            }
            var t, n, i;
            return t = e, (n = [{
                key: "destroy",
                value: function () {
                    this._buffer = null
                }
            }, {
                key: "_fillCurrentWord",
                value: function () {
                    var e = this._total_bytes - this._buffer_index;
                    if (e <= 0) throw new S("ExpGolomb: _fillCurrentWord() but no bytes available");
                    var t = Math.min(4, e),
                        n = new Uint8Array(4);
                    n.set(this._buffer.subarray(this._buffer_index, this._buffer_index + t)), this._current_word = new DataView(n.buffer).getUint32(0, !1), this._buffer_index += t, this._current_word_bits_left = 8 * t
                }
            }, {
                key: "readBits",
                value: function (e) {
                    if (e > 32) throw new x("ExpGolomb: readBits() bits exceeded max 32bits!");
                    if (e <= this._current_word_bits_left) {
                        var t = this._current_word >>> 32 - e;
                        return this._current_word <<= e, this._current_word_bits_left -= e, t
                    }
                    var n = this._current_word_bits_left ? this._current_word : 0;
                    n >>>= 32 - this._current_word_bits_left;
                    var i = e - this._current_word_bits_left;
                    this._fillCurrentWord();
                    var r = Math.min(i, this._current_word_bits_left),
                        o = this._current_word >>> 32 - r;
                    return this._current_word <<= r, this._current_word_bits_left -= r, n = n << r | o
                }
            }, {
                key: "readBool",
                value: function () {
                    return 1 === this.readBits(1)
                }
            }, {
                key: "readByte",
                value: function () {
                    return this.readBits(8)
                }
            }, {
                key: "_skipLeadingZero",
                value: function () {
                    var e;
                    for (e = 0; e < this._current_word_bits_left; e++)
                        if (0 != (this._current_word & 2147483648 >>> e)) return this._current_word <<= e, this._current_word_bits_left -= e, e;
                    return this._fillCurrentWord(), e + this._skipLeadingZero()
                }
            }, {
                key: "readUEG",
                value: function () {
                    var e = this._skipLeadingZero();
                    return this.readBits(e + 1) - 1
                }
            }, {
                key: "readSEG",
                value: function () {
                    var e = this.readUEG();
                    return 1 & e ? e + 1 >>> 1 : -1 * (e >>> 1)
                }
            }]) && Pe(t.prototype, n), i && Pe(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function Ue(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Fe = function () {
                function e() {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e)
                }
                var t, n, i;
                return t = e, i = [{
                    key: "_ebsp2rbsp",
                    value: function (e) {
                        for (var t = e, n = t.byteLength, i = new Uint8Array(n), r = 0, o = 0; o < n; o++) o >= 2 && 3 === t[o] && 0 === t[o - 1] && 0 === t[o - 2] || (i[r] = t[o], r++);
                        return new Uint8Array(i.buffer, 0, r)
                    }
                }, {
                    key: "parseSPS",
                    value: function (t) {
                        var n = e._ebsp2rbsp(t),
                            i = new Be(n);
                        i.readByte();
                        var r = i.readByte();
                        i.readByte();
                        var o = i.readByte();
                        i.readUEG();
                        var a = e.getProfileString(r),
                            s = e.getLevelString(o),
                            u = 1,
                            c = 420,
                            l = 8;
                        if ((100 === r || 110 === r || 122 === r || 244 === r || 44 === r || 83 === r || 86 === r || 118 === r || 128 === r || 138 === r || 144 === r) && (3 === (u = i.readUEG()) && i.readBits(1), u <= 3 && (c = [0, 420, 422, 444][u]), l = i.readUEG() + 8, i.readUEG(), i.readBits(1), i.readBool()))
                            for (var h = 3 !== u ? 8 : 12, f = 0; f < h; f++) i.readBool() && (f < 6 ? e._skipScalingList(i, 16) : e._skipScalingList(i, 64));
                        i.readUEG();
                        var d = i.readUEG();
                        if (0 === d) i.readUEG();
                        else if (1 === d) {
                            i.readBits(1), i.readSEG(), i.readSEG();
                            for (var p = i.readUEG(), _ = 0; _ < p; _++) i.readSEG()
                        }
                        var v = i.readUEG();
                        i.readBits(1);
                        var m = i.readUEG(),
                            g = i.readUEG(),
                            y = i.readBits(1);
                        0 === y && i.readBits(1), i.readBits(1);
                        var b = 0,
                            E = 0,
                            w = 0,
                            S = 0;
                        i.readBool() && (b = i.readUEG(), E = i.readUEG(), w = i.readUEG(), S = i.readUEG());
                        var x = 1,
                            L = 1,
                            k = 0,
                            M = !0,
                            I = 0,
                            A = 0;
                        if (i.readBool()) {
                            if (i.readBool()) {
                                var T = i.readByte();
                                T > 0 && T < 16 ? (x = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2][T - 1], L = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1][T - 1]) : 255 === T && (x = i.readByte() << 8 | i.readByte(), L = i.readByte() << 8 | i.readByte())
                            }
                            if (i.readBool() && i.readBool(), i.readBool() && (i.readBits(4), i.readBool() && i.readBits(24)), i.readBool() && (i.readUEG(), i.readUEG()), i.readBool()) {
                                var D = i.readBits(32),
                                    R = i.readBits(32);
                                M = i.readBool(), k = (I = R) / (A = 2 * D)
                            }
                        }
                        var O = 1;
                        1 === x && 1 === L || (O = x / L);
                        var C = 0,
                            N = 0;
                        0 === u ? (C = 1, N = 2 - y) : (C = 3 === u ? 1 : 2, N = (1 === u ? 2 : 1) * (2 - y));
                        var j = 16 * (m + 1),
                            P = 16 * (g + 1) * (2 - y);
                        j -= (b + E) * C, P -= (w + S) * N;
                        var B = Math.ceil(j * O);
                        return i.destroy(), i = null, {
                            profile_string: a,
                            level_string: s,
                            bit_depth: l,
                            ref_frames: v,
                            chroma_format: c,
                            chroma_format_string: e.getChromaFormatString(c),
                            frame_rate: {
                                fixed: M,
                                fps: k,
                                fps_den: A,
                                fps_num: I
                            },
                            sar_ratio: {
                                width: x,
                                height: L
                            },
                            codec_size: {
                                width: j,
                                height: P
                            },
                            present_size: {
                                width: B,
                                height: P
                            }
                        }
                    }
                }, {
                    key: "_skipScalingList",
                    value: function (e, t) {
                        for (var n = 8, i = 8, r = 0; r < t; r++) 0 !== i && (i = (n + e.readSEG() + 256) % 256), n = 0 === i ? n : i
                    }
                }, {
                    key: "getProfileString",
                    value: function (e) {
                        switch (e) {
                            case 66:
                                return "Baseline";
                            case 77:
                                return "Main";
                            case 88:
                                return "Extended";
                            case 100:
                                return "High";
                            case 110:
                                return "High10";
                            case 122:
                                return "High422";
                            case 244:
                                return "High444";
                            default:
                                return "Unknown"
                        }
                    }
                }, {
                    key: "getLevelString",
                    value: function (e) {
                        return (e / 10).toFixed(1)
                    }
                }, {
                    key: "getChromaFormatString",
                    value: function (e) {
                        switch (e) {
                            case 420:
                                return "4:2:0";
                            case 422:
                                return "4:2:2";
                            case 444:
                                return "4:4:4";
                            default:
                                return "Unknown"
                        }
                    }
                }], (n = null) && Ue(t.prototype, n), i && Ue(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            ze = {
                OK: "OK",
                FORMAT_ERROR: "FormatError",
                FORMAT_UNSUPPORTED: "FormatUnsupported",
                CODEC_UNSUPPORTED: "CodecUnsupported"
            },
            Ve = new s.a,
            Ge = "v6_source_open",
            He = "v6_audioDemuxErrors";

        function We(e) {
            return (We = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ye(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Ze = function () {
            function e(t, n) {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.TAG = "FLVDemuxer", this._config = n, this._onError = null, this._onMediaInfo = null, this._onMetaDataArrived = null, this._onScriptDataArrived = null, this._onTrackMetadata = null, this._onDataAvailable = null, this._dataOffset = t.dataOffset, this._firstParse = !0, this._dispatch = !1, this._hasAudio = t.hasAudioTrack, this._hasVideo = t.hasVideoTrack, this._hasAudioFlagOverrided = !1, this._hasVideoFlagOverrided = !1, this._audioInitialMetadataDispatched = !1, this._videoInitialMetadataDispatched = !1, this._mediaInfo = new Te, this._mediaInfo.hasAudio = this._hasAudio, this._mediaInfo.hasVideo = this._hasVideo, this._metadata = null, this._audioMetadata = null, this._videoMetadata = null, this._naluLengthSize = 4, this._timestampBase = 0, this._timescale = 1e3, this._duration = 0, this._durationOverrided = !1, this._referenceFrameRate = {
                    fixed: !0,
                    fps: 23.976,
                    fps_num: 23976,
                    fps_den: 1e3
                }, this._flvSoundRateTable = [5500, 11025, 22050, 44100, 48e3], this._mpegSamplingRates = [96e3, 88200, 64e3, 48e3, 44100, 32e3, 24e3, 22050, 16e3, 12e3, 11025, 8e3, 7350], this._mpegAudioV10SampleRateTable = [44100, 48e3, 32e3, 0], this._mpegAudioV20SampleRateTable = [22050, 24e3, 16e3, 0], this._mpegAudioV25SampleRateTable = [11025, 12e3, 8e3, 0], this._mpegAudioL1BitRateTable = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1], this._mpegAudioL2BitRateTable = [0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1], this._mpegAudioL3BitRateTable = [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], this._videoTrack = {
                    type: "video",
                    id: 1,
                    sequenceNumber: 0,
                    samples: [],
                    length: 0
                }, this._audioTrack = {
                    type: "audio",
                    id: 2,
                    sequenceNumber: 0,
                    samples: [],
                    length: 0
                }, this._littleEndian = function () {
                    var e = new ArrayBuffer(2);
                    return new DataView(e).setInt16(0, 256, !0), 256 === new Int16Array(e)[0]
                }()
            }
            var t, n, i;
            return t = e, i = [{
                key: "probe",
                value: function (e) {
                    var t = new Uint8Array(e),
                        n = {
                            match: !1
                        };
                    if (70 !== t[0] || 76 !== t[1] || 86 !== t[2] || 1 !== t[3]) return n;
                    var i, r, o = (4 & t[4]) >>> 2 != 0,
                        a = 0 != (1 & t[4]),
                        s = (i = t)[r = 5] << 24 | i[r + 1] << 16 | i[r + 2] << 8 | i[r + 3];
                    return s < 9 ? n : {
                        match: !0,
                        consumed: s,
                        dataOffset: s,
                        hasAudioTrack: o,
                        hasVideoTrack: a
                    }
                }
            }], (n = [{
                key: "destroy",
                value: function () {
                    this._mediaInfo = null, this._metadata = null, this._audioMetadata = null, this._videoMetadata = null, this._videoTrack = null, this._audioTrack = null, this._onError = null, this._onMediaInfo = null, this._onMetaDataArrived = null, this._onScriptDataArrived = null, this._onTrackMetadata = null, this._onDataAvailable = null
                }
            }, {
                key: "bindDataSource",
                value: function (e) {
                    return e.onDataArrival = this.parseChunks.bind(this), this
                }
            }, {
                key: "onTrackMetadata",
                get: function () {
                    return this._onTrackMetadata
                },
                set: function (e) {
                    this._onTrackMetadata = e
                }
            }, {
                key: "onMediaInfo",
                get: function () {
                    return this._onMediaInfo
                },
                set: function (e) {
                    this._onMediaInfo = e
                }
            }, {
                key: "onMetaDataArrived",
                get: function () {
                    return this._onMetaDataArrived
                },
                set: function (e) {
                    this._onMetaDataArrived = e
                }
            }, {
                key: "onScriptDataArrived",
                get: function () {
                    return this._onScriptDataArrived
                },
                set: function (e) {
                    this._onScriptDataArrived = e
                }
            }, {
                key: "onError",
                get: function () {
                    return this._onError
                },
                set: function (e) {
                    this._onError = e
                }
            }, {
                key: "onDataAvailable",
                get: function () {
                    return this._onDataAvailable
                },
                set: function (e) {
                    this._onDataAvailable = e
                }
            }, {
                key: "timestampBase",
                get: function () {
                    return this._timestampBase
                },
                set: function (e) {
                    this._timestampBase = e
                }
            }, {
                key: "overridedDuration",
                get: function () {
                    return this._duration
                },
                set: function (e) {
                    this._durationOverrided = !0, this._duration = e, this._mediaInfo.duration = e
                }
            }, {
                key: "overridedHasAudio",
                set: function (e) {
                    this._hasAudioFlagOverrided = !0, this._hasAudio = e, this._mediaInfo.hasAudio = e
                }
            }, {
                key: "overridedHasVideo",
                set: function (e) {
                    this._hasVideoFlagOverrided = !0, this._hasVideo = e, this._mediaInfo.hasVideo = e
                }
            }, {
                key: "resetMediaInfo",
                value: function () {
                    this._mediaInfo = new Te
                }
            }, {
                key: "_isInitialMetadataDispatched",
                value: function () {
                    return this._hasAudio && this._hasVideo ? this._audioInitialMetadataDispatched && this._videoInitialMetadataDispatched : this._hasAudio && !this._hasVideo ? this._audioInitialMetadataDispatched : !(this._hasAudio || !this._hasVideo) && this._videoInitialMetadataDispatched
                }
            }, {
                key: "parseChunks",
                value: function (t, n) {
                    if (!(this._onError && this._onMediaInfo && this._onTrackMetadata && this._onDataAvailable)) throw new S("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");
                    var i = 0,
                        r = this._littleEndian;
                    if (0 === n) {
                        if (!(t.byteLength > 13)) return 0;
                        i = e.probe(t).dataOffset
                    }
                    for (this._firstParse && (this._firstParse = !1, n + i !== this._dataOffset && l.w(this.TAG, "First time parsing but chunk byteStart invalid!"), 0 !== new DataView(t, i).getUint32(0, !r) && l.w(this.TAG, "PrevTagSize0 !== 0 !!!"), i += 4); i < t.byteLength;) {
                        this._dispatch = !0;
                        var o = new DataView(t, i);
                        if (i + 11 + 4 > t.byteLength) break;
                        var a = o.getUint8(0),
                            s = 16777215 & o.getUint32(0, !r);
                        if (i + 11 + s + 4 > t.byteLength) break;
                        if (8 === a || 9 === a || 18 === a) {
                            var u = o.getUint8(4),
                                c = o.getUint8(5),
                                h = o.getUint8(6) | c << 8 | u << 16 | o.getUint8(7) << 24;
                            0 != (16777215 & o.getUint32(7, !r)) && l.w(this.TAG, "Meet tag which has StreamID != 0!");
                            var f = i + 11;
                            switch (a) {
                                case 8:
                                    this._parseAudioData(t, f, s, h);
                                    break;
                                case 9:
                                    this._parseVideoData(t, f, s, h, n + i);
                                    break;
                                case 18:
                                    this._parseScriptData(t, f, s)
                            }
                            var d = o.getUint32(11 + s, !r);
                            d !== 11 + s && l.w(this.TAG, "Invalid PrevTagSize ".concat(d)), i += 11 + s + 4
                        } else l.w(this.TAG, "Unsupported tag type ".concat(a, ", skipped")), i += 11 + s + 4
                    }
                    return this._isInitialMetadataDispatched() && this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack), i
                }
            }, {
                key: "_parseScriptData",
                value: function (e, t, n) {
                    var i = je.parseScriptData(e, t, n);
                    if (i.hasOwnProperty("onMetaData")) {
                        if (null == i.onMetaData || "object" !== We(i.onMetaData)) return void l.w(this.TAG, "Invalid onMetaData structure!");
                        this._metadata && l.w(this.TAG, "Found another onMetaData tag!"), this._metadata = i;
                        var r = this._metadata.onMetaData;
                        if (this._onMetaDataArrived && this._onMetaDataArrived(Object.assign({}, r)), "boolean" == typeof r.hasAudio && !1 === this._hasAudioFlagOverrided && (this._hasAudio = r.hasAudio, this._mediaInfo.hasAudio = this._hasAudio), "boolean" == typeof r.hasVideo && !1 === this._hasVideoFlagOverrided && (this._hasVideo = r.hasVideo, this._mediaInfo.hasVideo = this._hasVideo), "number" == typeof r.audiodatarate && (this._mediaInfo.audioDataRate = r.audiodatarate), "number" == typeof r.videodatarate && (this._mediaInfo.videoDataRate = r.videodatarate), "number" == typeof r.width && (this._mediaInfo.width = r.width), "number" == typeof r.height && (this._mediaInfo.height = r.height), "number" == typeof r.duration) {
                            if (!this._durationOverrided) {
                                var o = Math.floor(r.duration * this._timescale);
                                this._duration = o, this._mediaInfo.duration = o
                            }
                        } else this._mediaInfo.duration = 0;
                        if ("number" == typeof r.framerate) {
                            var a = Math.floor(1e3 * r.framerate);
                            if (a > 0) {
                                var s = a / 1e3;
                                this._referenceFrameRate.fixed = !0, this._referenceFrameRate.fps = s, this._referenceFrameRate.fps_num = a, this._referenceFrameRate.fps_den = 1e3, this._mediaInfo.fps = s
                            }
                        }
                        if ("object" === We(r.keyframes)) {
                            this._mediaInfo.hasKeyframesIndex = !0;
                            var u = r.keyframes;
                            this._mediaInfo.keyframesIndex = this._parseKeyframesIndex(u), r.keyframes = null
                        } else this._mediaInfo.hasKeyframesIndex = !1;
                        this._dispatch = !1, this._mediaInfo.metadata = r, l.v(this.TAG, "Parsed onMetaData"), this._mediaInfo.isComplete() && this._onMediaInfo(this._mediaInfo)
                    }
                    Object.keys(i).length > 0 && this._onScriptDataArrived && this._onScriptDataArrived(Object.assign({}, i))
                }
            }, {
                key: "_parseKeyframesIndex",
                value: function (e) {
                    for (var t = [], n = [], i = 1; i < e.times.length; i++) {
                        var r = this._timestampBase + Math.floor(1e3 * e.times[i]);
                        t.push(r), n.push(e.filepositions[i])
                    }
                    return {
                        times: t,
                        filepositions: n
                    }
                }
            }, {
                key: "_parseAudioData",
                value: function (e, t, n, i) {
                    if (n <= 1) l.w(this.TAG, "Flv: Invalid audio packet, missing SoundData payload!");
                    else if (!0 !== this._hasAudioFlagOverrided || !1 !== this._hasAudio) {
                        this._littleEndian;
                        var r = new DataView(e, t, n).getUint8(0),
                            o = r >>> 4;
                        if (2 !== o && 10 !== o) return this._onError(ze.CODEC_UNSUPPORTED, "Flv: Unsupported audio codec idx: " + o), void Ve.emit(He, He, "Flv: Unsupported audio codec idx: " + o);
                        var a = 0,
                            s = (12 & r) >>> 2;
                        if (s >= 0 && s <= 4) {
                            a = this._flvSoundRateTable[s];
                            var u = 1 & r,
                                c = this._audioMetadata,
                                h = this._audioTrack;
                            if (c || (!1 === this._hasAudio && !1 === this._hasAudioFlagOverrided && (this._hasAudio = !0, this._mediaInfo.hasAudio = !0), (c = this._audioMetadata = {}).type = "audio", c.id = h.id, c.timescale = this._timescale, c.duration = this._duration, c.audioSampleRate = a, c.channelCount = 0 === u ? 1 : 2), 10 === o) {
                                var f = this._parseAACAudioData(e, t + 1, n - 1);
                                if (null == f) return;
                                if (0 === f.packetType) {
                                    c.config && l.w(this.TAG, "Found another AudioSpecificConfig!");
                                    var d = f.data;
                                    c.audioSampleRate = d.samplingRate, c.channelCount = d.channelCount, c.codec = d.codec, c.originalCodec = d.originalCodec, c.config = d.config, c.refSampleDuration = 1024 / c.audioSampleRate * c.timescale, l.v(this.TAG, "Parsed AudioSpecificConfig"), this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : this._audioInitialMetadataDispatched = !0, this._dispatch = !1, this._onTrackMetadata("audio", c);
                                    var p = this._mediaInfo;
                                    p.audioCodec = c.originalCodec, p.audioSampleRate = c.audioSampleRate, p.audioChannelCount = c.channelCount, p.hasVideo ? null != p.videoCodec && (p.mimeType = 'video/x-flv; codecs="' + p.videoCodec + "," + p.audioCodec + '"') : p.mimeType = 'video/x-flv; codecs="' + p.audioCodec + '"', p.isComplete() && this._onMediaInfo(p)
                                } else if (1 === f.packetType) {
                                    var _ = this._timestampBase + i,
                                        v = {
                                            unit: f.data,
                                            length: f.data.byteLength,
                                            dts: _,
                                            pts: _
                                        };
                                    h.samples.push(v), h.length += f.data.length
                                } else l.e(this.TAG, "Flv: Unsupported AAC data type ".concat(f.packetType)), Ve.emit(He, He, "Flv: Unsupported audio codec idx: " + o)
                            } else if (2 === o) {
                                if (!c.codec) {
                                    var m = this._parseMP3AudioData(e, t + 1, n - 1, !0);
                                    if (null == m) return;
                                    c.audioSampleRate = m.samplingRate, c.channelCount = m.channelCount, c.codec = m.codec, c.originalCodec = m.originalCodec, c.refSampleDuration = 1152 / c.audioSampleRate * c.timescale, l.v(this.TAG, "Parsed MPEG Audio Frame Header"), this._audioInitialMetadataDispatched = !0, this._onTrackMetadata("audio", c);
                                    var g = this._mediaInfo;
                                    g.audioCodec = c.codec, g.audioSampleRate = c.audioSampleRate, g.audioChannelCount = c.channelCount, g.audioDataRate = m.bitRate, g.hasVideo ? null != g.videoCodec && (g.mimeType = 'video/x-flv; codecs="' + g.videoCodec + "," + g.audioCodec + '"') : g.mimeType = 'video/x-flv; codecs="' + g.audioCodec + '"', g.isComplete() && this._onMediaInfo(g)
                                }
                                var y = this._parseMP3AudioData(e, t + 1, n - 1, !1);
                                if (null == y) return;
                                var b = this._timestampBase + i,
                                    E = {
                                        unit: y,
                                        length: y.byteLength,
                                        dts: b,
                                        pts: b
                                    };
                                h.samples.push(E), h.length += y.length
                            }
                        } else this._onError(ze.FORMAT_ERROR, "Flv: Invalid audio sample rate idx: " + s)
                    }
                }
            }, {
                key: "_parseAACAudioData",
                value: function (e, t, n) {
                    if (!(n <= 1)) {
                        var i = {},
                            r = new Uint8Array(e, t, n);
                        return i.packetType = r[0], 0 === r[0] ? i.data = this._parseAACAudioSpecificConfig(e, t + 1, n - 1) : i.data = r.subarray(1), i
                    }
                    l.w(this.TAG, "Flv: Invalid AAC packet, missing AACPacketType or/and Data!")
                }
            }, {
                key: "_parseAACAudioSpecificConfig",
                value: function (e, t, n) {
                    var i, r, o = new Uint8Array(e, t, n),
                        a = null,
                        s = 0,
                        u = null;
                    if (s = i = o[0] >>> 3, (r = (7 & o[0]) << 1 | o[1] >>> 7) < 0 || r >= this._mpegSamplingRates.length) this._onError(ze.FORMAT_ERROR, "Flv: AAC invalid sampling frequency index!");
                    else {
                        var c = this._mpegSamplingRates[r],
                            l = (120 & o[1]) >>> 3;
                        if (!(l < 0 || l >= 8)) {
                            5 === s && (u = (7 & o[1]) << 1 | o[2] >>> 7, o[2]);
                            var h = self.navigator.userAgent.toLowerCase();
                            return -1 !== h.indexOf("firefox") ? r >= 6 ? (s = 5, a = new Array(4), u = r - 3) : (s = 2, a = new Array(2), u = r) : -1 !== h.indexOf("android") ? (s = 2, a = new Array(2), u = r) : (s = 5, u = r, a = new Array(4), r >= 6 ? u = r - 3 : 1 === l && (s = 2, a = new Array(2), u = r)), a[0] = s << 3, a[0] |= (15 & r) >>> 1, a[1] = (15 & r) << 7, a[1] |= (15 & l) << 3, 5 === s && (a[1] |= (15 & u) >>> 1, a[2] = (1 & u) << 7, a[2] |= 8, a[3] = 0), {
                                config: a,
                                samplingRate: c,
                                channelCount: l,
                                codec: "mp4a.40." + s,
                                originalCodec: "mp4a.40." + i
                            }
                        }
                        this._onError(ze.FORMAT_ERROR, "Flv: AAC invalid channel configuration")
                    }
                }
            }, {
                key: "_parseMP3AudioData",
                value: function (e, t, n, i) {
                    if (!(n < 4)) {
                        this._littleEndian;
                        var r = new Uint8Array(e, t, n),
                            o = null;
                        if (i) {
                            if (255 !== r[0]) return;
                            var a = r[1] >>> 3 & 3,
                                s = (6 & r[1]) >> 1,
                                u = (240 & r[2]) >>> 4,
                                c = (12 & r[2]) >>> 2,
                                h = 3 != (r[3] >>> 6 & 3) ? 2 : 1,
                                f = 0,
                                d = 0;
                            switch (a) {
                                case 0:
                                    f = this._mpegAudioV25SampleRateTable[c];
                                    break;
                                case 2:
                                    f = this._mpegAudioV20SampleRateTable[c];
                                    break;
                                case 3:
                                    f = this._mpegAudioV10SampleRateTable[c]
                            }
                            switch (s) {
                                case 1:
                                    u < this._mpegAudioL3BitRateTable.length && (d = this._mpegAudioL3BitRateTable[u]);
                                    break;
                                case 2:
                                    u < this._mpegAudioL2BitRateTable.length && (d = this._mpegAudioL2BitRateTable[u]);
                                    break;
                                case 3:
                                    u < this._mpegAudioL1BitRateTable.length && (d = this._mpegAudioL1BitRateTable[u])
                            }
                            o = {
                                bitRate: d,
                                samplingRate: f,
                                channelCount: h,
                                codec: "mp3",
                                originalCodec: "mp3"
                            }
                        } else o = r;
                        return o
                    }
                    l.w(this.TAG, "Flv: Invalid MP3 packet, header missing!")
                }
            }, {
                key: "_parseVideoData",
                value: function (e, t, n, i, r) {
                    if (n <= 1) l.w(this.TAG, "Flv: Invalid video packet, missing VideoData payload!");
                    else if (!0 !== this._hasVideoFlagOverrided || !1 !== this._hasVideo) {
                        var o = new Uint8Array(e, t, n)[0],
                            a = (240 & o) >>> 4,
                            s = 15 & o;
                        7 === s ? this._parseAVCVideoPacket(e, t + 1, n - 1, i, r, a) : this._onError(ze.CODEC_UNSUPPORTED, "Flv: Unsupported codec in video frame: ".concat(s))
                    }
                }
            }, {
                key: "_parseAVCVideoPacket",
                value: function (e, t, n, i, r, o) {
                    if (n < 4) l.w(this.TAG, "Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");
                    else {
                        var a = this._littleEndian,
                            s = new DataView(e, t, n),
                            u = s.getUint8(0),
                            c = (16777215 & s.getUint32(0, !a)) << 8 >> 8;
                        if (0 === u) this._parseAVCDecoderConfigurationRecord(e, t + 4, n - 4);
                        else if (1 === u) this._parseAVCVideoData(e, t + 4, n - 4, i, r, o, c);
                        else if (2 !== u) return void this._onError(ze.FORMAT_ERROR, "Flv: Invalid video packet type ".concat(u))
                    }
                }
            }, {
                key: "_parseAVCDecoderConfigurationRecord",
                value: function (e, t, n) {
                    if (n < 7) l.w(this.TAG, "Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");
                    else {
                        var i = this._videoMetadata,
                            r = this._videoTrack,
                            o = this._littleEndian,
                            a = new DataView(e, t, n);
                        i ? void 0 !== i.avcc && l.w(this.TAG, "Found another AVCDecoderConfigurationRecord!") : (!1 === this._hasVideo && !1 === this._hasVideoFlagOverrided && (this._hasVideo = !0, this._mediaInfo.hasVideo = !0), (i = this._videoMetadata = {}).type = "video", i.id = r.id, i.timescale = this._timescale, i.duration = this._duration);
                        var s = a.getUint8(0),
                            u = a.getUint8(1);
                        if (a.getUint8(2), a.getUint8(3), 1 === s && 0 !== u)
                            if (this._naluLengthSize = 1 + (3 & a.getUint8(4)), 3 === this._naluLengthSize || 4 === this._naluLengthSize) {
                                var c = 31 & a.getUint8(5);
                                if (0 !== c) {
                                    c > 1 && l.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ".concat(c));
                                    for (var h = 6, f = 0; f < c; f++) {
                                        var d = a.getUint16(h, !o);
                                        if (h += 2, 0 !== d) {
                                            var p = new Uint8Array(e, t + h, d);
                                            h += d;
                                            var _ = Fe.parseSPS(p);
                                            if (0 === f) {
                                                i.codecWidth = _.codec_size.width, i.codecHeight = _.codec_size.height, i.presentWidth = _.present_size.width, i.presentHeight = _.present_size.height, i.profile = _.profile_string, i.level = _.level_string, i.bitDepth = _.bit_depth, i.chromaFormat = _.chroma_format, i.sarRatio = _.sar_ratio, i.frameRate = _.frame_rate, !1 !== _.frame_rate.fixed && 0 !== _.frame_rate.fps_num && 0 !== _.frame_rate.fps_den || (i.frameRate = this._referenceFrameRate);
                                                var v = i.frameRate.fps_den,
                                                    m = i.frameRate.fps_num;
                                                i.refSampleDuration = i.timescale * (v / m);
                                                for (var g = p.subarray(1, 4), y = "avc1.", b = 0; b < 3; b++) {
                                                    var E = g[b].toString(16);
                                                    E.length < 2 && (E = "0" + E), y += E
                                                }
                                                i.codec = y;
                                                var w = this._mediaInfo;
                                                w.width = i.codecWidth, w.height = i.codecHeight, w.fps = i.frameRate.fps, w.profile = i.profile, w.level = i.level, w.refFrames = _.ref_frames, w.chromaFormat = _.chroma_format_string, w.sarNum = i.sarRatio.width, w.sarDen = i.sarRatio.height, w.videoCodec = y, w.hasAudio ? null != w.audioCodec && (w.mimeType = 'video/x-flv; codecs="' + w.videoCodec + "," + w.audioCodec + '"') : w.mimeType = 'video/x-flv; codecs="' + w.videoCodec + '"', w.isComplete() && this._onMediaInfo(w)
                                            }
                                        }
                                    }
                                    var S = a.getUint8(h);
                                    if (0 !== S) {
                                        S > 1 && l.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ".concat(S)), h++;
                                        for (var x = 0; x < S; x++) {
                                            var L = a.getUint16(h, !o);
                                            h += 2, 0 !== L && (h += L)
                                        }
                                        i.avcc = new Uint8Array(n), i.avcc.set(new Uint8Array(e, t, n), 0), l.v(this.TAG, "Parsed AVCDecoderConfigurationRecord"), this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : this._videoInitialMetadataDispatched = !0, this._dispatch = !1, this._onTrackMetadata("video", i)
                                    } else this._onError(ze.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No PPS")
                                } else this._onError(ze.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No SPS")
                            } else this._onError(ze.FORMAT_ERROR, "Flv: Strange NaluLengthSizeMinusOne: ".concat(this._naluLengthSize - 1));
                        else this._onError(ze.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord")
                    }
                }
            }, {
                key: "_parseAVCVideoData",
                value: function (e, t, n, i, r, o, a) {
                    for (var s = this._littleEndian, u = new DataView(e, t, n), c = [], h = 0, f = 0, d = this._naluLengthSize, p = this._timestampBase + i, _ = 1 === o; f < n;) {
                        if (f + 4 >= n) {
                            l.w(this.TAG, "Malformed Nalu near timestamp ".concat(p, ", offset = ").concat(f, ", dataSize = ").concat(n));
                            break
                        }
                        var v = u.getUint32(f, !s);
                        if (3 === d && (v >>>= 8), v > n - d) return void l.w(this.TAG, "Malformed Nalus near timestamp ".concat(p, ", NaluSize > DataSize!"));
                        var m = 31 & u.getUint8(f + d);
                        5 === m && (_ = !0);
                        var g = new Uint8Array(e, t + f, d + v),
                            y = {
                                type: m,
                                data: g
                            };
                        c.push(y), h += g.byteLength, f += d + v
                    }
                    if (c.length) {
                        var b = this._videoTrack,
                            E = {
                                units: c,
                                length: h,
                                isKeyframe: _,
                                dts: p,
                                cts: a,
                                pts: p + a
                            };
                        _ && (E.fileposition = r), b.samples.push(E), b.length += h
                    }
                }
            }]) && Ye(t.prototype, n), i && Ye(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function Qe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Ke = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, i;
            return t = e, i = [{
                key: "init",
                value: function () {
                    for (var t in e.types = {
                            avc1: [],
                            avcC: [],
                            btrt: [],
                            dinf: [],
                            dref: [],
                            esds: [],
                            ftyp: [],
                            hdlr: [],
                            mdat: [],
                            mdhd: [],
                            mdia: [],
                            mfhd: [],
                            minf: [],
                            moof: [],
                            moov: [],
                            mp4a: [],
                            mvex: [],
                            mvhd: [],
                            sdtp: [],
                            stbl: [],
                            stco: [],
                            stsc: [],
                            stsd: [],
                            stsz: [],
                            stts: [],
                            tfdt: [],
                            tfhd: [],
                            traf: [],
                            trak: [],
                            trun: [],
                            trex: [],
                            tkhd: [],
                            vmhd: [],
                            smhd: [],
                            ".mp3": []
                        }, e.types) e.types.hasOwnProperty(t) && (e.types[t] = [t.charCodeAt(0), t.charCodeAt(1), t.charCodeAt(2), t.charCodeAt(3)]);
                    var n = e.constants = {};
                    n.FTYP = new Uint8Array([105, 115, 111, 109, 0, 0, 0, 1, 105, 115, 111, 109, 97, 118, 99, 49]), n.STSD_PREFIX = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1]), n.STTS = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]), n.STSC = n.STCO = n.STTS, n.STSZ = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), n.HDLR_VIDEO = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 118, 105, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 105, 100, 101, 111, 72, 97, 110, 100, 108, 101, 114, 0]), n.HDLR_AUDIO = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0]), n.DREF = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1]), n.SMHD = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]), n.VMHD = new Uint8Array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0])
                }
            }, {
                key: "box",
                value: function (e) {
                    for (var t = 8, n = null, i = Array.prototype.slice.call(arguments, 1), r = i.length, o = 0; o < r; o++) t += i[o].byteLength;
                    (n = new Uint8Array(t))[0] = t >>> 24 & 255, n[1] = t >>> 16 & 255, n[2] = t >>> 8 & 255, n[3] = 255 & t, n.set(e, 4);
                    for (var a = 8, s = 0; s < r; s++) n.set(i[s], a), a += i[s].byteLength;
                    return n
                }
            }, {
                key: "generateInitSegment",
                value: function (t) {
                    var n = e.box(e.types.ftyp, e.constants.FTYP),
                        i = e.moov(t),
                        r = new Uint8Array(n.byteLength + i.byteLength);
                    return r.set(n, 0), r.set(i, n.byteLength), r
                }
            }, {
                key: "moov",
                value: function (t) {
                    var n = e.mvhd(t.timescale, t.duration),
                        i = e.trak(t),
                        r = e.mvex(t);
                    return e.box(e.types.moov, n, i, r)
                }
            }, {
                key: "mvhd",
                value: function (t, n) {
                    return e.box(e.types.mvhd, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255]))
                }
            }, {
                key: "trak",
                value: function (t) {
                    return e.box(e.types.trak, e.tkhd(t), e.mdia(t))
                }
            }, {
                key: "tkhd",
                value: function (t) {
                    var n = t.id,
                        i = t.duration,
                        r = t.presentWidth,
                        o = t.presentHeight;
                    return e.box(e.types.tkhd, new Uint8Array([0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n, 0, 0, 0, 0, i >>> 24 & 255, i >>> 16 & 255, i >>> 8 & 255, 255 & i, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, r >>> 8 & 255, 255 & r, 0, 0, o >>> 8 & 255, 255 & o, 0, 0]))
                }
            }, {
                key: "mdia",
                value: function (t) {
                    return e.box(e.types.mdia, e.mdhd(t), e.hdlr(t), e.minf(t))
                }
            }, {
                key: "mdhd",
                value: function (t) {
                    var n = t.timescale,
                        i = t.duration;
                    return e.box(e.types.mdhd, new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n, i >>> 24 & 255, i >>> 16 & 255, i >>> 8 & 255, 255 & i, 85, 196, 0, 0]))
                }
            }, {
                key: "hdlr",
                value: function (t) {
                    var n = null;
                    return n = "audio" === t.type ? e.constants.HDLR_AUDIO : e.constants.HDLR_VIDEO, e.box(e.types.hdlr, n)
                }
            }, {
                key: "minf",
                value: function (t) {
                    var n = null;
                    return n = "audio" === t.type ? e.box(e.types.smhd, e.constants.SMHD) : e.box(e.types.vmhd, e.constants.VMHD), e.box(e.types.minf, n, e.dinf(), e.stbl(t))
                }
            }, {
                key: "dinf",
                value: function () {
                    return e.box(e.types.dinf, e.box(e.types.dref, e.constants.DREF))
                }
            }, {
                key: "stbl",
                value: function (t) {
                    return e.box(e.types.stbl, e.stsd(t), e.box(e.types.stts, e.constants.STTS), e.box(e.types.stsc, e.constants.STSC), e.box(e.types.stsz, e.constants.STSZ), e.box(e.types.stco, e.constants.STCO))
                }
            }, {
                key: "stsd",
                value: function (t) {
                    return "audio" === t.type ? "mp3" === t.codec ? e.box(e.types.stsd, e.constants.STSD_PREFIX, e.mp3(t)) : e.box(e.types.stsd, e.constants.STSD_PREFIX, e.mp4a(t)) : e.box(e.types.stsd, e.constants.STSD_PREFIX, e.avc1(t))
                }
            }, {
                key: "mp3",
                value: function (t) {
                    var n = t.channelCount,
                        i = t.audioSampleRate,
                        r = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, n, 0, 16, 0, 0, 0, 0, i >>> 8 & 255, 255 & i, 0, 0]);
                    return e.box(e.types[".mp3"], r)
                }
            }, {
                key: "mp4a",
                value: function (t) {
                    var n = t.channelCount,
                        i = t.audioSampleRate,
                        r = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, n, 0, 16, 0, 0, 0, 0, i >>> 8 & 255, 255 & i, 0, 0]);
                    return e.box(e.types.mp4a, r, e.esds(t))
                }
            }, {
                key: "esds",
                value: function (t) {
                    var n = t.config || [],
                        i = n.length,
                        r = new Uint8Array([0, 0, 0, 0, 3, 23 + i, 0, 1, 0, 4, 15 + i, 64, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5].concat([i]).concat(n).concat([6, 1, 2]));
                    return e.box(e.types.esds, r)
                }
            }, {
                key: "avc1",
                value: function (t) {
                    var n = t.avcc,
                        i = t.codecWidth,
                        r = t.codecHeight,
                        o = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, i >>> 8 & 255, 255 & i, r >>> 8 & 255, 255 & r, 0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, 10, 120, 113, 113, 47, 102, 108, 118, 46, 106, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 255, 255]);
                    return e.box(e.types.avc1, o, e.box(e.types.avcC, n))
                }
            }, {
                key: "mvex",
                value: function (t) {
                    return e.box(e.types.mvex, e.trex(t))
                }
            }, {
                key: "trex",
                value: function (t) {
                    var n = t.id,
                        i = new Uint8Array([0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1]);
                    return e.box(e.types.trex, i)
                }
            }, {
                key: "moof",
                value: function (t, n) {
                    return e.box(e.types.moof, e.mfhd(t.sequenceNumber), e.traf(t, n))
                }
            }, {
                key: "mfhd",
                value: function (t) {
                    var n = new Uint8Array([0, 0, 0, 0, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t]);
                    return e.box(e.types.mfhd, n)
                }
            }, {
                key: "traf",
                value: function (t, n) {
                    var i = t.id,
                        r = e.box(e.types.tfhd, new Uint8Array([0, 0, 0, 0, i >>> 24 & 255, i >>> 16 & 255, i >>> 8 & 255, 255 & i])),
                        o = e.box(e.types.tfdt, new Uint8Array([0, 0, 0, 0, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n])),
                        a = e.sdtp(t),
                        s = e.trun(t, a.byteLength + 16 + 16 + 8 + 16 + 8 + 8);
                    return e.box(e.types.traf, r, o, s, a)
                }
            }, {
                key: "sdtp",
                value: function (t) {
                    for (var n = t.samples || [], i = n.length, r = new Uint8Array(4 + i), o = 0; o < i; o++) {
                        var a = n[o].flags;
                        r[o + 4] = a.isLeading << 6 | a.dependsOn << 4 | a.isDependedOn << 2 | a.hasRedundancy
                    }
                    return e.box(e.types.sdtp, r)
                }
            }, {
                key: "trun",
                value: function (t, n) {
                    var i = t.samples || [],
                        r = i.length,
                        o = 12 + 16 * r,
                        a = new Uint8Array(o);
                    n += 8 + o, a.set([0, 0, 15, 1, r >>> 24 & 255, r >>> 16 & 255, r >>> 8 & 255, 255 & r, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, 255 & n], 0);
                    for (var s = 0; s < r; s++) {
                        var u = i[s].duration,
                            c = i[s].size,
                            l = i[s].flags,
                            h = i[s].cts;
                        a.set([u >>> 24 & 255, u >>> 16 & 255, u >>> 8 & 255, 255 & u, c >>> 24 & 255, c >>> 16 & 255, c >>> 8 & 255, 255 & c, l.isLeading << 2 | l.dependsOn, l.isDependedOn << 6 | l.hasRedundancy << 4 | l.isNonSync, 0, 0, h >>> 24 & 255, h >>> 16 & 255, h >>> 8 & 255, 255 & h], 12 + 16 * s)
                    }
                    return e.box(e.types.trun, a)
                }
            }, {
                key: "mdat",
                value: function (t) {
                    return e.box(e.types.mdat, t)
                }
            }], (n = null) && Qe(t.prototype, n), i && Qe(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();
        Ke.init();
        var Je = Ke;

        function Xe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var qe = function () {
            function e() {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, i;
            return t = e, i = [{
                key: "getSilentFrame",
                value: function (e, t) {
                    if ("mp4a.40.2" === e) {
                        if (1 === t) return new Uint8Array([0, 200, 0, 128, 35, 128]);
                        if (2 === t) return new Uint8Array([33, 0, 73, 144, 2, 25, 0, 35, 128]);
                        if (3 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 142]);
                        if (4 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 128, 44, 128, 8, 2, 56]);
                        if (5 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 56]);
                        if (6 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 0, 178, 0, 32, 8, 224])
                    } else {
                        if (1 === t) return new Uint8Array([1, 64, 34, 128, 163, 78, 230, 128, 186, 8, 0, 0, 0, 28, 6, 241, 193, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);
                        if (2 === t) return new Uint8Array([1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);
                        if (3 === t) return new Uint8Array([1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94])
                    }
                    return null
                }
            }], (n = null) && Xe(t.prototype, n), i && Xe(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function $e(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }

        function et(e, t, n) {
            return t && $e(e.prototype, t), n && $e(e, n), Object.defineProperty(e, "prototype", {
                writable: !1
            }), e
        }

        function tt(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }
        var nt = et((function e(t, n, i, r, o) {
                tt(this, e), this.dts = t, this.pts = n, this.duration = i, this.originalDts = r, this.isSyncPoint = o, this.fileposition = null
            })),
            it = function () {
                function e() {
                    tt(this, e), this.beginDts = 0, this.endDts = 0, this.beginPts = 0, this.endPts = 0, this.originalBeginDts = 0, this.originalEndDts = 0, this.syncPoints = [], this.firstSample = null, this.lastSample = null
                }
                return et(e, [{
                    key: "appendSyncPoint",
                    value: function (e) {
                        e.isSyncPoint = !0, this.syncPoints.push(e)
                    }
                }]), e
            }(),
            rt = function () {
                function e() {
                    tt(this, e), this._list = []
                }
                return et(e, [{
                    key: "clear",
                    value: function () {
                        this._list = []
                    }
                }, {
                    key: "appendArray",
                    value: function (e) {
                        var t = this._list;
                        0 !== e.length && (t.length > 0 && e[0].originalDts < t[t.length - 1].originalDts && this.clear(), Array.prototype.push.apply(t, e))
                    }
                }, {
                    key: "getLastSyncPointBeforeDts",
                    value: function (e) {
                        if (0 == this._list.length) return null;
                        var t = this._list,
                            n = 0,
                            i = t.length - 1,
                            r = 0,
                            o = 0,
                            a = i;
                        for (e < t[0].dts && (n = 0, o = a + 1); o <= a;) {
                            if ((r = o + Math.floor((a - o) / 2)) === i || e >= t[r].dts && e < t[r + 1].dts) {
                                n = r;
                                break
                            }
                            t[r].dts < e ? o = r + 1 : a = r - 1
                        }
                        return this._list[n]
                    }
                }]), e
            }(),
            ot = function () {
                function e(t) {
                    tt(this, e), this._type = t, this._list = [], this._lastAppendLocation = -1
                }
                return et(e, [{
                    key: "type",
                    get: function () {
                        return this._type
                    }
                }, {
                    key: "length",
                    get: function () {
                        return this._list.length
                    }
                }, {
                    key: "isEmpty",
                    value: function () {
                        return 0 === this._list.length
                    }
                }, {
                    key: "clear",
                    value: function () {
                        this._list = [], this._lastAppendLocation = -1
                    }
                }, {
                    key: "_searchNearestSegmentBefore",
                    value: function (e) {
                        var t = this._list;
                        if (0 === t.length) return -2;
                        var n = t.length - 1,
                            i = 0,
                            r = 0,
                            o = n,
                            a = 0;
                        if (e < t[0].originalBeginDts) return a = -1;
                        for (; r <= o;) {
                            if ((i = r + Math.floor((o - r) / 2)) === n || e > t[i].lastSample.originalDts && e < t[i + 1].originalBeginDts) {
                                a = i;
                                break
                            }
                            t[i].originalBeginDts < e ? r = i + 1 : o = i - 1
                        }
                        return a
                    }
                }, {
                    key: "_searchNearestSegmentAfter",
                    value: function (e) {
                        return this._searchNearestSegmentBefore(e) + 1
                    }
                }, {
                    key: "append",
                    value: function (e) {
                        var t = this._list,
                            n = e,
                            i = this._lastAppendLocation,
                            r = 0; - 1 !== i && i < t.length && n.originalBeginDts >= t[i].lastSample.originalDts && (i === t.length - 1 || i < t.length - 1 && n.originalBeginDts < t[i + 1].originalBeginDts) ? r = i + 1 : t.length > 0 && (r = this._searchNearestSegmentBefore(n.originalBeginDts) + 1), this._lastAppendLocation = r, this._list.splice(r, 0, n)
                    }
                }, {
                    key: "getLastSegmentBefore",
                    value: function (e) {
                        var t = this._searchNearestSegmentBefore(e);
                        return t >= 0 ? this._list[t] : null
                    }
                }, {
                    key: "getLastSampleBefore",
                    value: function (e) {
                        var t = this.getLastSegmentBefore(e);
                        return null != t ? t.lastSample : null
                    }
                }, {
                    key: "getLastSyncPointBefore",
                    value: function (e) {
                        for (var t = this._searchNearestSegmentBefore(e), n = this._list[t].syncPoints; 0 === n.length && t > 0;) t--, n = this._list[t].syncPoints;
                        return n.length > 0 ? n[n.length - 1] : null
                    }
                }]), e
            }();

        function at(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var st = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._frist = !0, this.TAG = "MP4Remuxer", this._config = t, this._isLive = !0 === t.isLive, this._dtsBase = -1, this._dtsBaseInited = !1, this._audioDtsBase = 1 / 0, this._videoDtsBase = 1 / 0, this._audioNextDts = void 0, this._videoNextDts = void 0, this._audioStashedLastSample = null, this._videoStashedLastSample = null, this._audioMeta = null, this._videoMeta = null, this._audioSegmentInfoList = new ot("audio"), this._videoSegmentInfoList = new ot("video"), this._onInitSegment = null, this._onMediaSegment = null, this._forceFirstIDR = !(!D.chrome || !(D.version.major < 50 || 50 === D.version.major && D.version.build < 2661)), this._fillSilentAfterSeek = D.msedge || D.msie, this._mp3UseMpegAudio = !D.firefox, this._fillAudioTimestampGap = this._config.fixAudioTimestampGap
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "destroy",
                    value: function () {
                        this._dtsBase = -1, this._dtsBaseInited = !1, this._audioMeta = null, this._videoMeta = null, this._audioSegmentInfoList.clear(), this._audioSegmentInfoList = null, this._videoSegmentInfoList.clear(), this._videoSegmentInfoList = null, this._onInitSegment = null, this._onMediaSegment = null
                    }
                }, {
                    key: "bindDataSource",
                    value: function (e) {
                        return e.onDataAvailable = this.remux.bind(this), e.onTrackMetadata = this._onTrackMetadataReceived.bind(this), this
                    }
                }, {
                    key: "onInitSegment",
                    get: function () {
                        return this._onInitSegment
                    },
                    set: function (e) {
                        this._onInitSegment = e
                    }
                }, {
                    key: "onMediaSegment",
                    get: function () {
                        return this._onMediaSegment
                    },
                    set: function (e) {
                        this._onMediaSegment = e
                    }
                }, {
                    key: "insertDiscontinuity",
                    value: function () {
                        this._audioNextDts = this._videoNextDts = void 0
                    }
                }, {
                    key: "seek",
                    value: function (e) {
                        this._audioStashedLastSample = null, this._videoStashedLastSample = null, this._videoSegmentInfoList.clear(), this._audioSegmentInfoList.clear()
                    }
                }, {
                    key: "remux",
                    value: function (e, t) {
                        if (!this._onMediaSegment) throw new S("MP4Remuxer: onMediaSegment callback must be specificed!");
                        this._dtsBaseInited || this._calculateDtsBase(e, t), this._remuxVideo(t), this._remuxAudio(e)
                    }
                }, {
                    key: "_onTrackMetadataReceived",
                    value: function (e, t) {
                        var n = null,
                            i = "mp4",
                            r = t.codec;
                        if ("audio" === e) this._audioMeta = t, "mp3" === t.codec && this._mp3UseMpegAudio ? (i = "mpeg", r = "", n = new Uint8Array) : n = Je.generateInitSegment(t);
                        else {
                            if ("video" !== e) return;
                            this._videoMeta = t, n = Je.generateInitSegment(t)
                        }
                        if (!this._onInitSegment) throw new S("MP4Remuxer: onInitSegment callback must be specified!");
                        this._onInitSegment(e, {
                            type: e,
                            data: n.buffer,
                            codec: r,
                            container: "".concat(e, "/").concat(i),
                            mediaDuration: t.duration
                        })
                    }
                }, {
                    key: "_calculateDtsBase",
                    value: function (e, t) {
                        this._dtsBaseInited || (e.samples && e.samples.length && (this._audioDtsBase = e.samples[0].dts), t.samples && t.samples.length && (this._videoDtsBase = t.samples[0].dts), this._dtsBase = Math.min(this._audioDtsBase, this._videoDtsBase), this._dtsBaseInited = !0)
                    }
                }, {
                    key: "flushStashedSamples",
                    value: function () {
                        var e = this._videoStashedLastSample,
                            t = this._audioStashedLastSample,
                            n = {
                                type: "video",
                                id: 1,
                                sequenceNumber: 0,
                                samples: [],
                                length: 0
                            };
                        null != e && (n.samples.push(e), n.length = e.length);
                        var i = {
                            type: "audio",
                            id: 2,
                            sequenceNumber: 0,
                            samples: [],
                            length: 0
                        };
                        null != t && (i.samples.push(t), i.length = t.length), this._videoStashedLastSample = null, this._audioStashedLastSample = null, this._remuxVideo(n, !0), this._remuxAudio(i, !0)
                    }
                }, {
                    key: "_remuxAudio",
                    value: function (e, t) {
                        if (null != this._audioMeta) {
                            var n, i = e,
                                r = i.samples,
                                o = void 0,
                                a = -1,
                                s = this._audioMeta.refSampleDuration,
                                u = "mp3" === this._audioMeta.codec && this._mp3UseMpegAudio,
                                c = this._dtsBaseInited && void 0 === this._audioNextDts,
                                h = !1;
                            if (r && 0 !== r.length && (1 !== r.length || t)) {
                                var f = 0,
                                    d = null,
                                    p = 0;
                                u ? (f = 0, p = i.length) : (f = 8, p = 8 + i.length);
                                var _ = null;
                                if (r.length > 1 && (p -= (_ = r.pop()).length), null != this._audioStashedLastSample) {
                                    var v = this._audioStashedLastSample;
                                    this._audioStashedLastSample = null, r.unshift(v), p += v.length
                                }
                                null != _ && (this._audioStashedLastSample = _);
                                var m = r[0].dts - this._dtsBase;
                                if (this._audioNextDts) o = m - this._audioNextDts;
                                else if (this._audioSegmentInfoList.isEmpty()) o = 0, this._fillSilentAfterSeek && !this._videoSegmentInfoList.isEmpty() && "mp3" !== this._audioMeta.originalCodec && (h = !0);
                                else {
                                    var g = this._audioSegmentInfoList.getLastSampleBefore(m);
                                    if (null != g) {
                                        var y = m - (g.originalDts + g.duration);
                                        y <= 3 && (y = 0), o = m - (g.dts + g.duration + y)
                                    } else o = 0
                                }
                                if (h) {
                                    var b = m - o,
                                        E = this._videoSegmentInfoList.getLastSegmentBefore(m);
                                    if (null != E && E.beginDts < b) {
                                        var w = qe.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount);
                                        if (w) {
                                            var S = E.beginDts,
                                                x = b - E.beginDts;
                                            l.v(this.TAG, "InsertPrefixSilentAudio: dts: ".concat(S, ", duration: ").concat(x)), r.unshift({
                                                unit: w,
                                                dts: S,
                                                pts: S
                                            }), p += w.byteLength
                                        }
                                    } else h = !1
                                }
                                for (var L = [], k = 0; k < r.length; k++) {
                                    var M = r[k],
                                        I = M.unit,
                                        A = M.dts - this._dtsBase,
                                        T = A,
                                        R = !1,
                                        O = null,
                                        C = 0;
                                    if (!(A < -.001)) {
                                        if ("mp3" !== this._audioMeta.codec) {
                                            var N = A;
                                            if (this._audioNextDts && (N = this._audioNextDts), (o = A - N) <= -3 * s) {
                                                l.w(this.TAG, "Dropping 1 audio frame (originalDts: ".concat(A, " ms ,curRefDts: ").concat(N, " ms)  due to dtsCorrection: ").concat(o, " ms overlap."));
                                                continue
                                            }
                                            if (o >= 3 * s && this._fillAudioTimestampGap && !D.safari) {
                                                R = !0;
                                                var j = Math.floor(o / s);
                                                l.w(this.TAG, "Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\n" + "originalDts: ".concat(A, " ms, curRefDts: ").concat(N, " ms, ") + "dtsCorrection: ".concat(Math.round(o), " ms, generate: ").concat(j, " frames")), T = Math.floor(N), C = Math.floor(N + s) - T;
                                                var P = qe.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount);
                                                null == P && (l.w(this.TAG, "Unable to generate silent frame for " + "".concat(this._audioMeta.originalCodec, " with ").concat(this._audioMeta.channelCount, " channels, repeat last frame")), P = I), O = [];
                                                for (var B = 0; B < j; B++) {
                                                    N += s;
                                                    var U = Math.floor(N),
                                                        F = Math.floor(N + s) - U,
                                                        z = {
                                                            dts: U,
                                                            pts: U,
                                                            cts: 0,
                                                            unit: P,
                                                            size: P.byteLength,
                                                            duration: F,
                                                            originalDts: A,
                                                            flags: {
                                                                isLeading: 0,
                                                                dependsOn: 1,
                                                                isDependedOn: 0,
                                                                hasRedundancy: 0
                                                            }
                                                        };
                                                    O.push(z), p += I.byteLength
                                                }
                                                this._audioNextDts = N + s
                                            } else T = Math.floor(N), C = Math.floor(N + s) - T, this._audioNextDts = N + s
                                        } else T = A - o, C = k !== r.length - 1 ? r[k + 1].dts - this._dtsBase - o - T : null != _ ? _.dts - this._dtsBase - o - T : L.length >= 1 ? L[L.length - 1].duration : Math.floor(s), this._audioNextDts = T + C;
                                        if (-1 === a && (a = T), L.push({
                                                dts: T,
                                                pts: T,
                                                cts: 0,
                                                unit: M.unit,
                                                size: M.unit.byteLength,
                                                duration: C,
                                                originalDts: A,
                                                flags: {
                                                    isLeading: 0,
                                                    dependsOn: 1,
                                                    isDependedOn: 0,
                                                    hasRedundancy: 0
                                                }
                                            }), 1 == this._frist && 0 == this) {
                                            console.log("i:", k), O = [];
                                            var V = A;
                                            R = !0;
                                            var G = qe.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount);
                                            console.log("!!!", k);
                                            for (var H = 0; H < 2; H++) {
                                                V += s;
                                                var W = Math.floor(V),
                                                    Y = Math.floor(V + s) - W,
                                                    Z = {
                                                        dts: W,
                                                        pts: W,
                                                        cts: 0,
                                                        unit: G,
                                                        size: G.byteLength,
                                                        duration: Y,
                                                        originalDts: A,
                                                        flags: {
                                                            isLeading: 0,
                                                            dependsOn: 1,
                                                            isDependedOn: 0,
                                                            hasRedundancy: 0
                                                        }
                                                    };
                                                O.push(Z), p += I.byteLength
                                            }
                                            this._audioNextDts = V + s
                                        }
                                        R && L.push.apply(L, O)
                                    }
                                }
                                if (0 === L.length) return i.samples = [], void(i.length = 0);
                                u ? d = new Uint8Array(p) : ((d = new Uint8Array(p))[0] = p >>> 24 & 255, d[1] = p >>> 16 & 255, d[2] = p >>> 8 & 255, d[3] = 255 & p, d.set(Je.types.mdat, 4));
                                for (var Q = 0; Q < L.length; Q++) {
                                    var K = L[Q].unit;
                                    d.set(K, f), f += K.byteLength
                                }
                                var J = L[L.length - 1];
                                n = J.dts + J.duration;
                                var X = new it;
                                X.beginDts = a, X.endDts = n, X.beginPts = a, X.endPts = n, X.originalBeginDts = L[0].originalDts, X.originalEndDts = J.originalDts + J.duration, X.firstSample = new nt(L[0].dts, L[0].pts, L[0].duration, L[0].originalDts, !1), X.lastSample = new nt(J.dts, J.pts, J.duration, J.originalDts, !1), this._isLive || this._audioSegmentInfoList.append(X), i.samples = L, i.sequenceNumber++;
                                var q = null;
                                q = u ? new Uint8Array : Je.moof(i, a), i.samples = [], i.length = 0;
                                var $ = {
                                    type: "audio",
                                    data: this._mergeBoxes(q, d).buffer,
                                    sampleCount: L.length,
                                    info: X
                                };
                                u && c && ($.timestampOffset = a), this._onMediaSegment("audio", $)
                            }
                        }
                    }
                }, {
                    key: "_remuxVideo",
                    value: function (e, t) {
                        if (null != this._videoMeta) {
                            var n, i, r = e,
                                o = r.samples,
                                a = void 0,
                                s = -1,
                                u = -1;
                            if (o && 0 !== o.length && (1 !== o.length || t)) {
                                var c = 8,
                                    l = null,
                                    h = 8 + e.length,
                                    f = null;
                                if (o.length > 1 && (h -= (f = o.pop()).length), null != this._videoStashedLastSample) {
                                    var d = this._videoStashedLastSample;
                                    this._videoStashedLastSample = null, o.unshift(d), h += d.length
                                }
                                null != f && (this._videoStashedLastSample = f);
                                var p = o[0].dts - this._dtsBase;
                                if (this._videoNextDts) a = p - this._videoNextDts;
                                else if (this._videoSegmentInfoList.isEmpty()) a = 0;
                                else {
                                    var _ = this._videoSegmentInfoList.getLastSampleBefore(p);
                                    if (null != _) {
                                        var v = p - (_.originalDts + _.duration);
                                        v <= 3 && (v = 0), a = p - (_.dts + _.duration + v)
                                    } else a = 0
                                }
                                for (var m = new it, g = [], y = 0; y < o.length; y++) {
                                    var b = o[y],
                                        E = b.dts - this._dtsBase,
                                        w = b.isKeyframe,
                                        S = E - a,
                                        x = b.cts,
                                        L = S + x; - 1 === s && (s = S, u = L);
                                    var k = 0;
                                    if (k = y !== o.length - 1 ? o[y + 1].dts - this._dtsBase - a - S : null != f ? f.dts - this._dtsBase - a - S : g.length >= 1 ? g[g.length - 1].duration : Math.floor(this._videoMeta.refSampleDuration), w) {
                                        var M = new nt(S, L, k, b.dts, !0);
                                        M.fileposition = b.fileposition, m.appendSyncPoint(M)
                                    }
                                    g.push({
                                        dts: S,
                                        pts: L,
                                        cts: x,
                                        units: b.units,
                                        size: b.length,
                                        isKeyframe: w,
                                        duration: k,
                                        originalDts: E,
                                        flags: {
                                            isLeading: 0,
                                            dependsOn: w ? 2 : 1,
                                            isDependedOn: w ? 1 : 0,
                                            hasRedundancy: 0,
                                            isNonSync: w ? 0 : 1
                                        }
                                    })
                                }(l = new Uint8Array(h))[0] = h >>> 24 & 255, l[1] = h >>> 16 & 255, l[2] = h >>> 8 & 255, l[3] = 255 & h, l.set(Je.types.mdat, 4);
                                for (var I = 0; I < g.length; I++)
                                    for (var A = g[I].units; A.length;) {
                                        var T = A.shift().data;
                                        l.set(T, c), c += T.byteLength
                                    }
                                var D = g[g.length - 1];
                                if (n = D.dts + D.duration, i = D.pts + D.duration, this._videoNextDts = n, m.beginDts = s, m.endDts = n, m.beginPts = u, m.endPts = i, m.originalBeginDts = g[0].originalDts, m.originalEndDts = D.originalDts + D.duration, m.firstSample = new nt(g[0].dts, g[0].pts, g[0].duration, g[0].originalDts, g[0].isKeyframe), m.lastSample = new nt(D.dts, D.pts, D.duration, D.originalDts, D.isKeyframe), this._isLive || this._videoSegmentInfoList.append(m), r.samples = g, r.sequenceNumber++, this._forceFirstIDR) {
                                    var R = g[0].flags;
                                    R.dependsOn = 2, R.isNonSync = 0
                                }
                                var O = Je.moof(r, s);
                                r.samples = [], r.length = 0, this._onMediaSegment("video", {
                                    type: "video",
                                    data: this._mergeBoxes(O, l).buffer,
                                    sampleCount: g.length,
                                    info: m
                                })
                            }
                        }
                    }
                }, {
                    key: "_mergeBoxes",
                    value: function (e, t) {
                        var n = new Uint8Array(e.byteLength + t.byteLength);
                        return n.set(e, 0), n.set(t, e.byteLength), n
                    }
                }]) && at(t.prototype, n), i && at(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            ut = {
                IO_ERROR: "io_error",
                DEMUX_ERROR: "demux_error",
                INIT_SEGMENT: "init_segment",
                MEDIA_SEGMENT: "media_segment",
                LOADING_COMPLETE: "loading_complete",
                RECOVERED_EARLY_EOF: "recovered_early_eof",
                MEDIA_INFO: "media_info",
                METADATA_ARRIVED: "metadata_arrived",
                SCRIPTDATA_ARRIVED: "scriptdata_arrived",
                STATISTICS_INFO: "statistics_info",
                RECOMMEND_SEEKPOINT: "recommend_seekpoint"
            };

        function ct(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var lt = function () {
                function e(t, n) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TAG = "TransmuxingController", this._emitter = new s.a, this._config = n, t.segments || (t.segments = [{
                        duration: t.duration,
                        filesize: t.filesize,
                        url: t.url
                    }]), "boolean" != typeof t.cors && (t.cors = !0), "boolean" != typeof t.withCredentials && (t.withCredentials = !1), this._mediaDataSource = t, this._currentSegmentIndex = 0;
                    var i = 0;
                    this._mediaDataSource.segments.forEach((function (e) {
                        e.timestampBase = i, i += e.duration, e.cors = t.cors, e.withCredentials = t.withCredentials, n.referrerPolicy && (e.referrerPolicy = n.referrerPolicy)
                    })), isNaN(i) || this._mediaDataSource.duration === i || (this._mediaDataSource.duration = i), this._mediaInfo = null, this._demuxer = null, this._remuxer = null, this._ioctl = null, this._pendingSeekTime = null, this._pendingResolveSeekPoint = null, this._statisticsReporter = null
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "destroy",
                    value: function () {
                        this._mediaInfo = null, this._mediaDataSource = null, this._statisticsReporter && this._disableStatisticsReporter(), this._ioctl && (this._ioctl.destroy(), this._ioctl = null), this._demuxer && (this._demuxer.destroy(), this._demuxer = null), this._remuxer && (this._remuxer.destroy(), this._remuxer = null), this._emitter.removeAllListeners(), this._emitter = null
                    }
                }, {
                    key: "on",
                    value: function (e, t) {
                        this._emitter.addListener(e, t)
                    }
                }, {
                    key: "off",
                    value: function (e, t) {
                        this._emitter.removeListener(e, t)
                    }
                }, {
                    key: "start",
                    value: function () {
                        this._loadSegment(0), this._enableStatisticsReporter()
                    }
                }, {
                    key: "_loadSegment",
                    value: function (e, t) {
                        this._currentSegmentIndex = e;
                        var n = this._mediaDataSource.segments[e],
                            i = this._ioctl = new be(n, this._config, e);
                        i.onError = this._onIOException.bind(this), i.onSeeked = this._onIOSeeked.bind(this), i.onComplete = this._onIOComplete.bind(this), i.onRedirect = this._onIORedirect.bind(this), i.onRecoveredEarlyEof = this._onIORecoveredEarlyEof.bind(this), t ? this._demuxer.bindDataSource(this._ioctl) : i.onDataArrival = this._onInitChunkArrival.bind(this), i.open(t)
                    }
                }, {
                    key: "stop",
                    value: function () {
                        this._internalAbort(), this._disableStatisticsReporter()
                    }
                }, {
                    key: "_internalAbort",
                    value: function () {
                        this._ioctl && (this._ioctl.destroy(), this._ioctl = null)
                    }
                }, {
                    key: "pause",
                    value: function () {
                        this._ioctl && this._ioctl.isWorking() && (this._ioctl.pause(), this._disableStatisticsReporter())
                    }
                }, {
                    key: "resume",
                    value: function () {
                        this._ioctl && this._ioctl.isPaused() && (this._ioctl.resume(), this._enableStatisticsReporter())
                    }
                }, {
                    key: "seek",
                    value: function (e) {
                        if (null != this._mediaInfo && this._mediaInfo.isSeekable()) {
                            var t = this._searchSegmentIndexContains(e);
                            if (t === this._currentSegmentIndex) {
                                var n = this._mediaInfo.segments[t];
                                if (null == n) this._pendingSeekTime = e;
                                else {
                                    var i = n.getNearestKeyframe(e);
                                    this._remuxer.seek(i.milliseconds), this._ioctl.seek(i.fileposition), this._pendingResolveSeekPoint = i.milliseconds
                                }
                            } else {
                                var r = this._mediaInfo.segments[t];
                                if (null == r) this._pendingSeekTime = e, this._internalAbort(), this._remuxer.seek(), this._remuxer.insertDiscontinuity(), this._loadSegment(t);
                                else {
                                    var o = r.getNearestKeyframe(e);
                                    this._internalAbort(), this._remuxer.seek(e), this._remuxer.insertDiscontinuity(), this._demuxer.resetMediaInfo(), this._demuxer.timestampBase = this._mediaDataSource.segments[t].timestampBase, this._loadSegment(t, o.fileposition), this._pendingResolveSeekPoint = o.milliseconds, this._reportSegmentMediaInfo(t)
                                }
                            }
                            this._enableStatisticsReporter()
                        }
                    }
                }, {
                    key: "_searchSegmentIndexContains",
                    value: function (e) {
                        for (var t = this._mediaDataSource.segments, n = t.length - 1, i = 0; i < t.length; i++)
                            if (e < t[i].timestampBase) {
                                n = i - 1;
                                break
                            } return n
                    }
                }, {
                    key: "_onInitChunkArrival",
                    value: function (e, t) {
                        var n = this,
                            i = null,
                            r = 0;
                        if (t > 0) this._demuxer.bindDataSource(this._ioctl), this._demuxer.timestampBase = this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase, r = this._demuxer.parseChunks(e, t);
                        else if ((i = Ze.probe(e)).match) {
                            this._demuxer = new Ze(i, this._config), this._remuxer || (this._remuxer = new st(this._config));
                            var o = this._mediaDataSource;
                            null == o.duration || isNaN(o.duration) || (this._demuxer.overridedDuration = o.duration), "boolean" == typeof o.hasAudio && (this._demuxer.overridedHasAudio = o.hasAudio), "boolean" == typeof o.hasVideo && (this._demuxer.overridedHasVideo = o.hasVideo), this._demuxer.timestampBase = o.segments[this._currentSegmentIndex].timestampBase, this._demuxer.onError = this._onDemuxException.bind(this), this._demuxer.onMediaInfo = this._onMediaInfo.bind(this), this._demuxer.onMetaDataArrived = this._onMetaDataArrived.bind(this), this._demuxer.onScriptDataArrived = this._onScriptDataArrived.bind(this), this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)), this._remuxer.onInitSegment = this._onRemuxerInitSegmentArrival.bind(this), this._remuxer.onMediaSegment = this._onRemuxerMediaSegmentArrival.bind(this), r = this._demuxer.parseChunks(e, t)
                        } else i = null, l.e(this.TAG, "Non-FLV, Unsupported media type!"), Promise.resolve().then((function () {
                            n._internalAbort()
                        })), this._emitter.emit(ut.DEMUX_ERROR, ze.FORMAT_UNSUPPORTED, "Non-FLV, Unsupported media type"), r = 0;
                        return r
                    }
                }, {
                    key: "_onMediaInfo",
                    value: function (e) {
                        var t = this;
                        null == this._mediaInfo && (this._mediaInfo = Object.assign({}, e), this._mediaInfo.keyframesIndex = null, this._mediaInfo.segments = [], this._mediaInfo.segmentCount = this._mediaDataSource.segments.length, Object.setPrototypeOf(this._mediaInfo, Te.prototype));
                        var n = Object.assign({}, e);
                        Object.setPrototypeOf(n, Te.prototype), this._mediaInfo.segments[this._currentSegmentIndex] = n, this._reportSegmentMediaInfo(this._currentSegmentIndex), null != this._pendingSeekTime && Promise.resolve().then((function () {
                            var e = t._pendingSeekTime;
                            t._pendingSeekTime = null, t.seek(e)
                        }))
                    }
                }, {
                    key: "_onMetaDataArrived",
                    value: function (e) {
                        this._emitter.emit(ut.METADATA_ARRIVED, e)
                    }
                }, {
                    key: "_onScriptDataArrived",
                    value: function (e) {
                        this._emitter.emit(ut.SCRIPTDATA_ARRIVED, e)
                    }
                }, {
                    key: "_onIOSeeked",
                    value: function () {
                        this._remuxer.insertDiscontinuity()
                    }
                }, {
                    key: "_onIOComplete",
                    value: function (e) {
                        var t = e + 1;
                        t < this._mediaDataSource.segments.length ? (this._internalAbort(), this._remuxer.flushStashedSamples(), this._loadSegment(t)) : (this._remuxer.flushStashedSamples(), this._emitter.emit(ut.LOADING_COMPLETE), this._disableStatisticsReporter())
                    }
                }, {
                    key: "_onIORedirect",
                    value: function (e) {
                        var t = this._ioctl.extraData;
                        this._mediaDataSource.segments[t].redirectedURL = e
                    }
                }, {
                    key: "_onIORecoveredEarlyEof",
                    value: function () {
                        this._emitter.emit(ut.RECOVERED_EARLY_EOF)
                    }
                }, {
                    key: "_onIOException",
                    value: function (e, t) {
                        l.e(this.TAG, "IOException: type = ".concat(e, ", code = ").concat(t.code, ", msg = ").concat(t.msg)), this._emitter.emit(ut.IO_ERROR, e, t), this._disableStatisticsReporter()
                    }
                }, {
                    key: "_onDemuxException",
                    value: function (e, t) {
                        l.e(this.TAG, "DemuxException: type = ".concat(e, ", info = ").concat(t)), this._emitter.emit(ut.DEMUX_ERROR, e, t)
                    }
                }, {
                    key: "_onRemuxerInitSegmentArrival",
                    value: function (e, t) {
                        this._emitter.emit(ut.INIT_SEGMENT, e, t)
                    }
                }, {
                    key: "_onRemuxerMediaSegmentArrival",
                    value: function (e, t) {
                        if (null == this._pendingSeekTime && (this._emitter.emit(ut.MEDIA_SEGMENT, e, t), null != this._pendingResolveSeekPoint && "video" === e)) {
                            var n = t.info.syncPoints,
                                i = this._pendingResolveSeekPoint;
                            this._pendingResolveSeekPoint = null, D.safari && n.length > 0 && n[0].originalDts === i && (i = n[0].pts), this._emitter.emit(ut.RECOMMEND_SEEKPOINT, i)
                        }
                    }
                }, {
                    key: "_enableStatisticsReporter",
                    value: function () {
                        null == this._statisticsReporter && (this._statisticsReporter = self.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval))
                    }
                }, {
                    key: "_disableStatisticsReporter",
                    value: function () {
                        this._statisticsReporter && (self.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
                    }
                }, {
                    key: "_reportSegmentMediaInfo",
                    value: function (e) {
                        var t = this._mediaInfo.segments[e],
                            n = Object.assign({}, t);
                        n.duration = this._mediaInfo.duration, n.segmentCount = this._mediaInfo.segmentCount, delete n.segments, delete n.keyframesIndex, this._emitter.emit(ut.MEDIA_INFO, n)
                    }
                }, {
                    key: "_reportStatisticsInfo",
                    value: function () {
                        var e = {};
                        e.url = this._ioctl.currentURL, e.hasRedirect = this._ioctl.hasRedirect, e.hasRedirect && (e.redirectedURL = this._ioctl.currentRedirectedURL), e.speed = this._ioctl.currentSpeed, e.loaderType = this._ioctl.loaderType, e.currentSegmentIndex = this._currentSegmentIndex, e.totalSegmentCount = this._mediaDataSource.segments.length, this._emitter.emit(ut.STATISTICS_INFO, e)
                    }
                }]) && ct(t.prototype, n), i && ct(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            ht = function (e) {
                var t = null,
                    n = function (t, n) {
                        e.postMessage({
                            msg: "logcat_callback",
                            data: {
                                type: t,
                                logcat: n
                            }
                        })
                    }.bind(this);

                function i(t, n) {
                    var i = {
                        msg: ut.INIT_SEGMENT,
                        data: {
                            type: t,
                            data: n
                        }
                    };
                    e.postMessage(i, [n.data])
                }

                function r(t, n) {
                    var i = {
                        msg: ut.MEDIA_SEGMENT,
                        data: {
                            type: t,
                            data: n
                        }
                    };
                    e.postMessage(i, [n.data])
                }

                function a() {
                    var t = {
                        msg: ut.LOADING_COMPLETE
                    };
                    e.postMessage(t)
                }

                function s() {
                    var t = {
                        msg: ut.RECOVERED_EARLY_EOF
                    };
                    e.postMessage(t)
                }

                function u(t) {
                    var n = {
                        msg: ut.MEDIA_INFO,
                        data: t
                    };
                    e.postMessage(n)
                }

                function c(t) {
                    var n = {
                        msg: ut.METADATA_ARRIVED,
                        data: t
                    };
                    e.postMessage(n)
                }

                function l(t) {
                    var n = {
                        msg: ut.SCRIPTDATA_ARRIVED,
                        data: t
                    };
                    e.postMessage(n)
                }

                function h(t) {
                    var n = {
                        msg: ut.STATISTICS_INFO,
                        data: t
                    };
                    e.postMessage(n)
                }

                function f(t, n) {
                    e.postMessage({
                        msg: ut.IO_ERROR,
                        data: {
                            type: t,
                            info: n
                        }
                    })
                }

                function d(t, n) {
                    e.postMessage({
                        msg: ut.DEMUX_ERROR,
                        data: {
                            type: t,
                            info: n
                        }
                    })
                }

                function p(t) {
                    e.postMessage({
                        msg: ut.RECOMMEND_SEEKPOINT,
                        data: t
                    })
                }
                o.install(), e.addEventListener("message", (function (o) {
                    switch (o.data.cmd) {
                        case "init":
                            (t = new lt(o.data.param[0], o.data.param[1])).on(ut.IO_ERROR, f.bind(this)), t.on(ut.DEMUX_ERROR, d.bind(this)), t.on(ut.INIT_SEGMENT, i.bind(this)), t.on(ut.MEDIA_SEGMENT, r.bind(this)), t.on(ut.LOADING_COMPLETE, a.bind(this)), t.on(ut.RECOVERED_EARLY_EOF, s.bind(this)), t.on(ut.MEDIA_INFO, u.bind(this)), t.on(ut.METADATA_ARRIVED, c.bind(this)), t.on(ut.SCRIPTDATA_ARRIVED, l.bind(this)), t.on(ut.STATISTICS_INFO, h.bind(this)), t.on(ut.RECOMMEND_SEEKPOINT, p.bind(this));
                            break;
                        case "destroy":
                            t && (t.destroy(), t = null), e.postMessage({
                                msg: "destroyed"
                            });
                            break;
                        case "start":
                            t.start();
                            break;
                        case "stop":
                            t.stop();
                            break;
                        case "seek":
                            t.seek(o.data.param);
                            break;
                        case "pause":
                            t.pause();
                            break;
                        case "resume":
                            t.resume();
                            break;
                        case "logging_config":
                            var _ = o.data.param;
                            Ie.applyConfig(_), !0 === _.enableCallback ? Ie.addLogListener(n) : Ie.removeLogListener(n)
                    }
                }))
            };

        function ft(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var dt = function () {
                function e(t, i) {
                    if (function (e, t) {
                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                        }(this, e), this.TAG = "Transmuxer", this._emitter = new s.a, i.enableWorker && "undefined" != typeof Worker) try {
                        var r = n(130);
                        this._worker = r(ht), this._workerDestroying = !1, this._worker.addEventListener("message", this._onWorkerMessage.bind(this)), this._worker.postMessage({
                            cmd: "init",
                            param: [t, i]
                        }), this.e = {
                            onLoggingConfigChanged: this._onLoggingConfigChanged.bind(this)
                        }, Ie.registerListener(this.e.onLoggingConfigChanged), this._worker.postMessage({
                            cmd: "logging_config",
                            param: Ie.getConfig()
                        })
                    } catch (e) {
                        l.e(this.TAG, "Error while initialize transmuxing worker, fallback to inline transmuxing"), this._worker = null, this._controller = new lt(t, i)
                    } else this._controller = new lt(t, i);
                    if (this._controller) {
                        var o = this._controller;
                        o.on(ut.IO_ERROR, this._onIOError.bind(this)), o.on(ut.DEMUX_ERROR, this._onDemuxError.bind(this)), o.on(ut.INIT_SEGMENT, this._onInitSegment.bind(this)), o.on(ut.MEDIA_SEGMENT, this._onMediaSegment.bind(this)), o.on(ut.LOADING_COMPLETE, this._onLoadingComplete.bind(this)), o.on(ut.RECOVERED_EARLY_EOF, this._onRecoveredEarlyEof.bind(this)), o.on(ut.MEDIA_INFO, this._onMediaInfo.bind(this)), o.on(ut.METADATA_ARRIVED, this._onMetaDataArrived.bind(this)), o.on(ut.SCRIPTDATA_ARRIVED, this._onScriptDataArrived.bind(this)), o.on(ut.STATISTICS_INFO, this._onStatisticsInfo.bind(this)), o.on(ut.RECOMMEND_SEEKPOINT, this._onRecommendSeekpoint.bind(this))
                    }
                }
                var t, i, r;
                return t = e, (i = [{
                    key: "destroy",
                    value: function () {
                        this._worker ? this._workerDestroying || (this._workerDestroying = !0, this._worker.postMessage({
                            cmd: "destroy"
                        }), Ie.removeListener(this.e.onLoggingConfigChanged), this.e = null) : (this._controller.destroy(), this._controller = null), this._emitter.removeAllListeners(), this._emitter = null
                    }
                }, {
                    key: "on",
                    value: function (e, t) {
                        this._emitter.addListener(e, t)
                    }
                }, {
                    key: "off",
                    value: function (e, t) {
                        this._emitter.removeListener(e, t)
                    }
                }, {
                    key: "hasWorker",
                    value: function () {
                        return null != this._worker
                    }
                }, {
                    key: "open",
                    value: function () {
                        this._worker ? this._worker.postMessage({
                            cmd: "start"
                        }) : this._controller.start()
                    }
                }, {
                    key: "close",
                    value: function () {
                        this._worker ? this._worker.postMessage({
                            cmd: "stop"
                        }) : this._controller.stop()
                    }
                }, {
                    key: "seek",
                    value: function (e) {
                        this._worker ? this._worker.postMessage({
                            cmd: "seek",
                            param: e
                        }) : this._controller.seek(e)
                    }
                }, {
                    key: "pause",
                    value: function () {
                        this._worker ? this._worker.postMessage({
                            cmd: "pause"
                        }) : this._controller.pause()
                    }
                }, {
                    key: "resume",
                    value: function () {
                        this._worker ? this._worker.postMessage({
                            cmd: "resume"
                        }) : this._controller.resume()
                    }
                }, {
                    key: "_onInitSegment",
                    value: function (e, t) {
                        var n = this;
                        Promise.resolve().then((function () {
                            n._emitter.emit(ut.INIT_SEGMENT, e, t)
                        }))
                    }
                }, {
                    key: "_onMediaSegment",
                    value: function (e, t) {
                        var n = this;
                        Promise.resolve().then((function () {
                            n._emitter.emit(ut.MEDIA_SEGMENT, e, t)
                        }))
                    }
                }, {
                    key: "_onLoadingComplete",
                    value: function () {
                        var e = this;
                        Promise.resolve().then((function () {
                            e._emitter.emit(ut.LOADING_COMPLETE)
                        }))
                    }
                }, {
                    key: "_onRecoveredEarlyEof",
                    value: function () {
                        var e = this;
                        Promise.resolve().then((function () {
                            e._emitter.emit(ut.RECOVERED_EARLY_EOF)
                        }))
                    }
                }, {
                    key: "_onMediaInfo",
                    value: function (e) {
                        var t = this;
                        Promise.resolve().then((function () {
                            t._emitter.emit(ut.MEDIA_INFO, e)
                        }))
                    }
                }, {
                    key: "_onMetaDataArrived",
                    value: function (e) {
                        var t = this;
                        Promise.resolve().then((function () {
                            t._emitter.emit(ut.METADATA_ARRIVED, e)
                        }))
                    }
                }, {
                    key: "_onScriptDataArrived",
                    value: function (e) {
                        var t = this;
                        Promise.resolve().then((function () {
                            t._emitter.emit(ut.SCRIPTDATA_ARRIVED, e)
                        }))
                    }
                }, {
                    key: "_onStatisticsInfo",
                    value: function (e) {
                        var t = this;
                        Promise.resolve().then((function () {
                            t._emitter.emit(ut.STATISTICS_INFO, e)
                        }))
                    }
                }, {
                    key: "_onIOError",
                    value: function (e, t) {
                        var n = this;
                        Promise.resolve().then((function () {
                            n._emitter.emit(ut.IO_ERROR, e, t)
                        }))
                    }
                }, {
                    key: "_onDemuxError",
                    value: function (e, t) {
                        var n = this;
                        Promise.resolve().then((function () {
                            n._emitter.emit(ut.DEMUX_ERROR, e, t)
                        }))
                    }
                }, {
                    key: "_onRecommendSeekpoint",
                    value: function (e) {
                        var t = this;
                        Promise.resolve().then((function () {
                            t._emitter.emit(ut.RECOMMEND_SEEKPOINT, e)
                        }))
                    }
                }, {
                    key: "_onLoggingConfigChanged",
                    value: function (e) {
                        this._worker && this._worker.postMessage({
                            cmd: "logging_config",
                            param: e
                        })
                    }
                }, {
                    key: "_onWorkerMessage",
                    value: function (e) {
                        var t = e.data,
                            n = t.data;
                        if ("destroyed" === t.msg || this._workerDestroying) return this._workerDestroying = !1, this._worker.terminate(), void(this._worker = null);
                        switch (t.msg) {
                            case ut.INIT_SEGMENT:
                            case ut.MEDIA_SEGMENT:
                                this._emitter.emit(t.msg, n.type, n.data);
                                break;
                            case ut.LOADING_COMPLETE:
                            case ut.RECOVERED_EARLY_EOF:
                                this._emitter.emit(t.msg);
                                break;
                            case ut.MEDIA_INFO:
                                Object.setPrototypeOf(n, Te.prototype), this._emitter.emit(t.msg, n);
                                break;
                            case ut.METADATA_ARRIVED:
                            case ut.SCRIPTDATA_ARRIVED:
                            case ut.STATISTICS_INFO:
                                this._emitter.emit(t.msg, n);
                                break;
                            case ut.IO_ERROR:
                            case ut.DEMUX_ERROR:
                                this._emitter.emit(t.msg, n.type, n.info);
                                break;
                            case ut.RECOMMEND_SEEKPOINT:
                                this._emitter.emit(t.msg, n);
                                break;
                            case "logcat_callback":
                                l.emitter.emit("log", n.type, n.logcat)
                        }
                    }
                }]) && ft(t.prototype, i), r && ft(t, r), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            pt = {
                ERROR: "error",
                SOURCE_OPEN: "source_open",
                UPDATE_END: "update_end",
                BUFFER_FULL: "buffer_full"
            };

        function _t(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var vt = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TAG = "MSEController", this._config = t, this._emitter = new s.a, this._config.isLive && null == this._config.autoCleanupSourceBuffer && (this._config.autoCleanupSourceBuffer = !0), this.e = {
                        onSourceOpen: this._onSourceOpen.bind(this),
                        onSourceEnded: this._onSourceEnded.bind(this),
                        onSourceClose: this._onSourceClose.bind(this),
                        onSourceBufferError: this._onSourceBufferError.bind(this),
                        onSourceBufferUpdateEnd: this._onSourceBufferUpdateEnd.bind(this)
                    }, this._mediaSource = null, this._mediaSourceObjectURL = null, this._mediaElement = null, this._isBufferFull = !1, this._hasPendingEos = !1, this._requireSetMediaDuration = !1, this._pendingMediaDuration = 0, this._pendingSourceBufferInit = [], this._mimeTypes = {
                        video: null,
                        audio: null
                    }, this._sourceBuffers = {
                        video: null,
                        audio: null
                    }, this._lastInitSegments = {
                        video: null,
                        audio: null
                    }, this._pendingSegments = {
                        video: [],
                        audio: []
                    }, this._pendingRemoveRanges = {
                        video: [],
                        audio: []
                    }, this._idrList = new rt
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "destroy",
                    value: function () {
                        (this._mediaElement || this._mediaSource) && this.detachMediaElement(), this.e = null, this._emitter.removeAllListeners(), this._emitter = null
                    }
                }, {
                    key: "on",
                    value: function (e, t) {
                        this._emitter.addListener(e, t)
                    }
                }, {
                    key: "off",
                    value: function (e, t) {
                        this._emitter.removeListener(e, t)
                    }
                }, {
                    key: "attachMediaElement",
                    value: function (e) {
                        if (this._mediaSource) throw new S("MediaSource has been attached to an HTMLMediaElement!");
                        var t = this._mediaSource = new window.MediaSource;
                        t.addEventListener("sourceopen", this.e.onSourceOpen), t.addEventListener("sourceended", this.e.onSourceEnded), t.addEventListener("sourceclose", this.e.onSourceClose), this._mediaElement = e, this._mediaSourceObjectURL = window.URL.createObjectURL(this._mediaSource), e.src = this._mediaSourceObjectURL
                    }
                }, {
                    key: "detachMediaElement",
                    value: function () {
                        if (this._mediaSource) {
                            var e = this._mediaSource;
                            for (var t in this._sourceBuffers) {
                                var n = this._pendingSegments[t];
                                n.splice(0, n.length), this._pendingSegments[t] = null, this._pendingRemoveRanges[t] = null, this._lastInitSegments[t] = null;
                                var i = this._sourceBuffers[t];
                                if (i) {
                                    if ("closed" !== e.readyState) {
                                        try {
                                            e.removeSourceBuffer(i)
                                        } catch (e) {
                                            l.e(this.TAG, e.message)
                                        }
                                        i.removeEventListener("error", this.e.onSourceBufferError), i.removeEventListener("updateend", this.e.onSourceBufferUpdateEnd)
                                    }
                                    this._mimeTypes[t] = null, this._sourceBuffers[t] = null
                                }
                            }
                            if ("open" === e.readyState) try {
                                e.endOfStream()
                            } catch (e) {
                                l.e(this.TAG, e.message)
                            }
                            e.removeEventListener("sourceopen", this.e.onSourceOpen), e.removeEventListener("sourceended", this.e.onSourceEnded), e.removeEventListener("sourceclose", this.e.onSourceClose), this._pendingSourceBufferInit = [], this._isBufferFull = !1, this._idrList.clear(), this._mediaSource = null
                        }
                        this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src"), this._mediaElement = null), this._mediaSourceObjectURL && (window.URL.revokeObjectURL(this._mediaSourceObjectURL), this._mediaSourceObjectURL = null)
                    }
                }, {
                    key: "appendInitSegment",
                    value: function (e, t) {
                        if (!this._mediaSource || "open" !== this._mediaSource.readyState) return this._pendingSourceBufferInit.push(e), void this._pendingSegments[e.type].push(e);
                        var n = e,
                            i = "".concat(n.container);
                        n.codec && n.codec.length > 0 && (i += ";codecs=".concat(n.codec));
                        var r = !1;
                        if (l.v(this.TAG, "Received Initialization Segment, mimeType: " + i), this._lastInitSegments[n.type] = n, i !== this._mimeTypes[n.type]) {
                            if (this._mimeTypes[n.type]) l.v(this.TAG, "Notice: ".concat(n.type, " mimeType changed, origin: ").concat(this._mimeTypes[n.type], ", target: ").concat(i));
                            else {
                                r = !0;
                                try {
                                    var o = this._sourceBuffers[n.type] = this._mediaSource.addSourceBuffer(i);
                                    o.addEventListener("error", this.e.onSourceBufferError), o.addEventListener("updateend", this.e.onSourceBufferUpdateEnd)
                                } catch (e) {
                                    return l.e(this.TAG, e.message), void this._emitter.emit(pt.ERROR, {
                                        code: e.code,
                                        msg: e.message
                                    })
                                }
                            }
                            this._mimeTypes[n.type] = i
                        }
                        t || this._pendingSegments[n.type].push(n), r || this._sourceBuffers[n.type] && !this._sourceBuffers[n.type].updating && this._doAppendSegments(), D.safari && "audio/mpeg" === n.container && n.mediaDuration > 0 && (this._requireSetMediaDuration = !0, this._pendingMediaDuration = n.mediaDuration / 1e3, this._updateMediaSourceDuration())
                    }
                }, {
                    key: "appendMediaSegment",
                    value: function (e) {
                        var t = e;
                        this._pendingSegments[t.type].push(t), this._config.autoCleanupSourceBuffer && this._needCleanupSourceBuffer() && this._doCleanupSourceBuffer();
                        var n = this._sourceBuffers[t.type];
                        !n || n.updating || this._hasPendingRemoveRanges() || this._doAppendSegments()
                    }
                }, {
                    key: "seek",
                    value: function (e) {
                        for (var t in this._sourceBuffers)
                            if (this._sourceBuffers[t]) {
                                var n = this._sourceBuffers[t];
                                if ("open" === this._mediaSource.readyState) try {
                                    n.abort()
                                } catch (e) {
                                    l.e(this.TAG, e.message)
                                }
                                this._idrList.clear();
                                var i = this._pendingSegments[t];
                                if (i.splice(0, i.length), "closed" !== this._mediaSource.readyState) {
                                    for (var r = 0; r < n.buffered.length; r++) {
                                        var o = n.buffered.start(r),
                                            a = n.buffered.end(r);
                                        this._pendingRemoveRanges[t].push({
                                            start: o,
                                            end: a
                                        })
                                    }
                                    if (n.updating || this._doRemoveRanges(), D.safari) {
                                        var s = this._lastInitSegments[t];
                                        s && (this._pendingSegments[t].push(s), n.updating || this._doAppendSegments())
                                    }
                                }
                            }
                    }
                }, {
                    key: "endOfStream",
                    value: function () {
                        var e = this._mediaSource,
                            t = this._sourceBuffers;
                        e && "open" === e.readyState ? t.video && t.video.updating || t.audio && t.audio.updating ? this._hasPendingEos = !0 : (this._hasPendingEos = !1, e.endOfStream()) : e && "closed" === e.readyState && this._hasPendingSegments() && (this._hasPendingEos = !0)
                    }
                }, {
                    key: "getNearestKeyframe",
                    value: function (e) {
                        return this._idrList.getLastSyncPointBeforeDts(e)
                    }
                }, {
                    key: "_needCleanupSourceBuffer",
                    value: function () {
                        if (!this._config.autoCleanupSourceBuffer) return !1;
                        var e = this._mediaElement.currentTime;
                        for (var t in this._sourceBuffers) {
                            var n = this._sourceBuffers[t];
                            if (n) {
                                var i = n.buffered;
                                if (i.length >= 1 && e - i.start(0) >= this._config.autoCleanupMaxBackwardDuration) return !0
                            }
                        }
                        return !1
                    }
                }, {
                    key: "_doCleanupSourceBuffer",
                    value: function () {
                        var e = this._mediaElement.currentTime;
                        for (var t in this._sourceBuffers) {
                            var n = this._sourceBuffers[t];
                            if (n) {
                                for (var i = n.buffered, r = !1, o = 0; o < i.length; o++) {
                                    var a = i.start(o),
                                        s = i.end(o);
                                    if (a <= e && e < s + 3) {
                                        if (e - a >= this._config.autoCleanupMaxBackwardDuration) {
                                            r = !0;
                                            var u = e - this._config.autoCleanupMinBackwardDuration;
                                            this._pendingRemoveRanges[t].push({
                                                start: a,
                                                end: u
                                            })
                                        }
                                    } else s < e && (r = !0, this._pendingRemoveRanges[t].push({
                                        start: a,
                                        end: s
                                    }))
                                }
                                r && !n.updating && this._doRemoveRanges()
                            }
                        }
                    }
                }, {
                    key: "_updateMediaSourceDuration",
                    value: function () {
                        var e = this._sourceBuffers;
                        if (0 !== this._mediaElement.readyState && "open" === this._mediaSource.readyState && !(e.video && e.video.updating || e.audio && e.audio.updating)) {
                            var t = this._mediaSource.duration,
                                n = this._pendingMediaDuration;
                            n > 0 && (isNaN(t) || n > t) && (l.v(this.TAG, "Update MediaSource duration from ".concat(t, " to ").concat(n)), this._mediaSource.duration = n), this._requireSetMediaDuration = !1, this._pendingMediaDuration = 0
                        }
                    }
                }, {
                    key: "_doRemoveRanges",
                    value: function () {
                        for (var e in this._pendingRemoveRanges)
                            if (this._sourceBuffers[e] && !this._sourceBuffers[e].updating)
                                for (var t = this._sourceBuffers[e], n = this._pendingRemoveRanges[e]; n.length && !t.updating;) {
                                    var i = n.shift();
                                    t.remove(i.start, i.end)
                                }
                    }
                }, {
                    key: "_doAppendSegments",
                    value: function () {
                        var e = this._pendingSegments;
                        for (var t in e)
                            if (this._sourceBuffers[t] && !this._sourceBuffers[t].updating && e[t].length > 0) {
                                var n = e[t].shift();
                                if (n.timestampOffset) {
                                    var i = this._sourceBuffers[t].timestampOffset,
                                        r = n.timestampOffset / 1e3;
                                    Math.abs(i - r) > .1 && (l.v(this.TAG, "Update MPEG audio timestampOffset from ".concat(i, " to ").concat(r)), this._sourceBuffers[t].timestampOffset = r), delete n.timestampOffset
                                }
                                if (!n.data || 0 === n.data.byteLength) continue;
                                try {
                                    this._sourceBuffers[t].appendBuffer(n.data), this._isBufferFull = !1, "video" === t && n.hasOwnProperty("info") && this._idrList.appendArray(n.info.syncPoints)
                                } catch (e) {
                                    this._pendingSegments[t].unshift(n), 22 === e.code ? (this._isBufferFull || this._emitter.emit(pt.BUFFER_FULL), this._isBufferFull = !0) : (l.e(this.TAG, e.message), this._emitter.emit(pt.ERROR, {
                                        code: e.code,
                                        msg: e.message
                                    }))
                                }
                            }
                    }
                }, {
                    key: "_onSourceOpen",
                    value: function () {
                        if (l.v(this.TAG, "MediaSource onSourceOpen"), this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), this._pendingSourceBufferInit.length > 0)
                            for (var e = this._pendingSourceBufferInit; e.length;) {
                                var t = e.shift();
                                this.appendInitSegment(t, !0)
                            }
                        this._hasPendingSegments() && this._doAppendSegments(), this._emitter.emit(pt.SOURCE_OPEN)
                    }
                }, {
                    key: "_onSourceEnded",
                    value: function () {
                        l.v(this.TAG, "MediaSource onSourceEnded"), this._emitter.emit("v6_source_end")
                    }
                }, {
                    key: "_onSourceClose",
                    value: function () {
                        l.v(this.TAG, "MediaSource onSourceClose"), this._mediaSource && null != this.e && (this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), this._mediaSource.removeEventListener("sourceended", this.e.onSourceEnded), this._mediaSource.removeEventListener("sourceclose", this.e.onSourceClose)), this._emitter.emit("v6_source_close")
                    }
                }, {
                    key: "_hasPendingSegments",
                    value: function () {
                        var e = this._pendingSegments;
                        return e.video.length > 0 || e.audio.length > 0
                    }
                }, {
                    key: "_hasPendingRemoveRanges",
                    value: function () {
                        var e = this._pendingRemoveRanges;
                        return e.video.length > 0 || e.audio.length > 0
                    }
                }, {
                    key: "_onSourceBufferUpdateEnd",
                    value: function () {
                        this._requireSetMediaDuration ? this._updateMediaSourceDuration() : this._hasPendingRemoveRanges() ? this._doRemoveRanges() : this._hasPendingSegments() ? this._doAppendSegments() : this._hasPendingEos && this.endOfStream(), this._emitter.emit(pt.UPDATE_END)
                    }
                }, {
                    key: "_onSourceBufferError",
                    value: function (e) {
                        l.e(this.TAG, "SourceBuffer Error: ".concat(e))
                    }
                }]) && _t(t.prototype, n), i && _t(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            mt = {
                NETWORK_ERROR: "NetworkError",
                MEDIA_ERROR: "MediaError",
                OTHER_ERROR: "OtherError"
            },
            gt = {
                NETWORK_EXCEPTION: I.EXCEPTION,
                NETWORK_STATUS_CODE_INVALID: I.HTTP_STATUS_CODE_INVALID,
                NETWORK_TIMEOUT: I.CONNECTING_TIMEOUT,
                NETWORK_UNRECOVERABLE_EARLY_EOF: I.UNRECOVERABLE_EARLY_EOF,
                MEDIA_MSE_ERROR: "MediaMSEError",
                MEDIA_FORMAT_ERROR: ze.FORMAT_ERROR,
                MEDIA_FORMAT_UNSUPPORTED: ze.FORMAT_UNSUPPORTED,
                MEDIA_CODEC_UNSUPPORTED: ze.CODEC_UNSUPPORTED
            };

        function yt(e) {
            return (yt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function bt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Et = function () {
            function e(t, n) {
                if (function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TAG = "FlvPlayer", this._type = "FlvPlayer", this._emitter = new s.a, this._config = we(), "object" === yt(n) && Object.assign(this._config, n), "flv" !== t.type.toLowerCase()) throw new x("FlvPlayer requires an flv MediaDataSource input!");
                !0 === t.isLive && (this._config.isLive = !0), this.e = {
                    onvLoadedMetadata: this._onvLoadedMetadata.bind(this),
                    onvSeeking: this._onvSeeking.bind(this),
                    onvCanPlay: this._onvCanPlay.bind(this),
                    onvStalled: this._onvStalled.bind(this),
                    onvProgress: this._onvProgress.bind(this)
                }, self.performance && self.performance.now ? this._now = self.performance.now.bind(self.performance) : this._now = Date.now, this._pendingSeekTime = null, this._requestSetTime = !1, this._seekpointRecord = null, this._progressChecker = null, this._mediaDataSource = t, this._mediaElement = null, this._msectl = null, this._transmuxer = null, this._mseSourceOpened = !1, this._hasPendingLoad = !1, this._receivedCanPlay = !1, this._mediaInfo = null, this._statisticsInfo = null;
                var i = D.chrome && (D.version.major < 50 || 50 === D.version.major && D.version.build < 2661);
                this._alwaysSeekKeyframe = !!(i || D.msedge || D.msie), this._alwaysSeekKeyframe && (this._config.accurateSeek = !1)
            }
            var t, n, i;
            return t = e, (n = [{
                key: "destroy",
                value: function () {
                    null != this._progressChecker && (window.clearInterval(this._progressChecker), this._progressChecker = null), this._transmuxer && this.unload(), this._mediaElement && this.detachMediaElement(), this.e = null, this._mediaDataSource = null, this._emitter.removeAllListeners(), this._emitter = null
                }
            }, {
                key: "on",
                value: function (e, t) {
                    var n = this;
                    e === Le.MEDIA_INFO ? null != this._mediaInfo && Promise.resolve().then((function () {
                        n._emitter.emit(Le.MEDIA_INFO, n.mediaInfo)
                    })) : e === Le.STATISTICS_INFO && null != this._statisticsInfo && Promise.resolve().then((function () {
                        n._emitter.emit(Le.STATISTICS_INFO, n.statisticsInfo)
                    })), this._emitter.addListener(e, t)
                }
            }, {
                key: "off",
                value: function (e, t) {
                    this._emitter.removeListener(e, t)
                }
            }, {
                key: "attachMediaElement",
                value: function (e) {
                    var t = this;
                    if (this._mediaElement = e, e.addEventListener("loadedmetadata", this.e.onvLoadedMetadata), e.addEventListener("seeking", this.e.onvSeeking), e.addEventListener("canplay", this.e.onvCanPlay), e.addEventListener("stalled", this.e.onvStalled), e.addEventListener("progress", this.e.onvProgress), this._msectl = new vt(this._config), this._msectl.on("v6_source_close", (function () {
                            t._emitter.emit("v6_source_close", "v6_source_close")
                        })), this._msectl.on("v6_source_end", (function () {
                            t._emitter.emit("v6_source_end", "v6_source_end")
                        })), this._msectl.on(pt.UPDATE_END, this._onmseUpdateEnd.bind(this)), this._msectl.on(pt.BUFFER_FULL, this._onmseBufferFull.bind(this)), this._msectl.on(pt.SOURCE_OPEN, (function () {
                            t._mseSourceOpened = !0, t._hasPendingLoad && (t._hasPendingLoad = !1, t.load()), Ve.emit(Ge, Ge, "")
                        })), this._msectl.on(pt.ERROR, (function (e) {
                            t._emitter.emit(Le.ERROR, mt.MEDIA_ERROR, gt.MEDIA_MSE_ERROR, e)
                        })), this._msectl.attachMediaElement(e), null != this._pendingSeekTime) try {
                        e.currentTime = this._pendingSeekTime, this._pendingSeekTime = null
                    } catch (e) {}
                }
            }, {
                key: "detachMediaElement",
                value: function () {
                    this._mediaElement && (this._msectl.detachMediaElement(), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), this._mediaElement.removeEventListener("seeking", this.e.onvSeeking), this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay), this._mediaElement.removeEventListener("stalled", this.e.onvStalled), this._mediaElement.removeEventListener("progress", this.e.onvProgress), this._mediaElement = null), this._msectl && (this._msectl.destroy(), this._msectl = null)
                }
            }, {
                key: "load",
                value: function () {
                    var e = this;
                    if (!this._mediaElement) throw new S("HTMLMediaElement must be attached before load()!");
                    if (this._transmuxer) throw new S("FlvPlayer.load() has been called, please call unload() first!");
                    this._hasPendingLoad || (this._config.deferLoadAfterSourceOpen && !1 === this._mseSourceOpened ? this._hasPendingLoad = !0 : (this._mediaElement.readyState > 0 && (this._requestSetTime = !0, this._mediaElement.currentTime = 0), this._transmuxer = new dt(this._mediaDataSource, this._config), this._transmuxer.on(ut.INIT_SEGMENT, (function (t, n) {
                        e._msectl.appendInitSegment(n)
                    })), this._transmuxer.on(ut.MEDIA_SEGMENT, (function (t, n) {
                        if (e._msectl.appendMediaSegment(n), e._config.lazyLoad && !e._config.isLive) {
                            var i = e._mediaElement.currentTime;
                            n.info.endDts >= 1e3 * (i + e._config.lazyLoadMaxDuration) && null == e._progressChecker && (l.v(e.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), e._suspendTransmuxer())
                        }
                    })), this._transmuxer.on(ut.LOADING_COMPLETE, (function () {
                        e._msectl.endOfStream(), e._emitter.emit(Le.LOADING_COMPLETE)
                    })), this._transmuxer.on(ut.RECOVERED_EARLY_EOF, (function () {
                        e._emitter.emit(Le.RECOVERED_EARLY_EOF)
                    })), this._transmuxer.on(ut.IO_ERROR, (function (t, n) {
                        e._emitter.emit(Le.ERROR, mt.NETWORK_ERROR, t, n)
                    })), this._transmuxer.on(ut.DEMUX_ERROR, (function (t, n) {
                        e._emitter.emit(Le.ERROR, mt.MEDIA_ERROR, t, {
                            code: -1,
                            msg: n
                        })
                    })), this._transmuxer.on(ut.MEDIA_INFO, (function (t) {
                        e._mediaInfo = t, e._emitter.emit(Le.MEDIA_INFO, Object.assign({}, t))
                    })), this._transmuxer.on(ut.METADATA_ARRIVED, (function (t) {
                        e._emitter.emit(Le.METADATA_ARRIVED, t)
                    })), this._transmuxer.on(ut.SCRIPTDATA_ARRIVED, (function (t) {
                        e._emitter.emit(Le.SCRIPTDATA_ARRIVED, t)
                    })), this._transmuxer.on(ut.STATISTICS_INFO, (function (t) {
                        e._statisticsInfo = e._fillStatisticsInfo(t), e._emitter.emit(Le.STATISTICS_INFO, Object.assign({}, e._statisticsInfo))
                    })), this._transmuxer.on(ut.RECOMMEND_SEEKPOINT, (function (t) {
                        e._mediaElement && !e._config.accurateSeek && (e._requestSetTime = !0, e._mediaElement.currentTime = t / 1e3)
                    })), this._transmuxer.open()))
                }
            }, {
                key: "unload",
                value: function () {
                    this._mediaElement && this._mediaElement.pause(), this._msectl && this._msectl.seek(0), this._transmuxer && (this._transmuxer.close(), this._transmuxer.destroy(), this._transmuxer = null)
                }
            }, {
                key: "play",
                value: function () {
                    return this._mediaElement.play()
                }
            }, {
                key: "pause",
                value: function () {
                    this._mediaElement.pause()
                }
            }, {
                key: "type",
                get: function () {
                    return this._type
                }
            }, {
                key: "buffered",
                get: function () {
                    return this._mediaElement.buffered
                }
            }, {
                key: "duration",
                get: function () {
                    return this._mediaElement.duration
                }
            }, {
                key: "volume",
                get: function () {
                    return this._mediaElement.volume
                },
                set: function (e) {
                    this._mediaElement.volume = e
                }
            }, {
                key: "muted",
                get: function () {
                    return this._mediaElement.muted
                },
                set: function (e) {
                    this._mediaElement.muted = e
                }
            }, {
                key: "currentTime",
                get: function () {
                    return this._mediaElement ? this._mediaElement.currentTime : 0
                },
                set: function (e) {
                    this._mediaElement ? this._internalSeek(e) : this._pendingSeekTime = e
                }
            }, {
                key: "mediaInfo",
                get: function () {
                    return Object.assign({}, this._mediaInfo)
                }
            }, {
                key: "statisticsInfo",
                get: function () {
                    return null == this._statisticsInfo && (this._statisticsInfo = {}), this._statisticsInfo = this._fillStatisticsInfo(this._statisticsInfo), Object.assign({}, this._statisticsInfo)
                }
            }, {
                key: "_fillStatisticsInfo",
                value: function (e) {
                    if (e.playerType = this._type, !(this._mediaElement instanceof HTMLVideoElement)) return e;
                    var t = !0,
                        n = 0,
                        i = 0;
                    if (this._mediaElement.getVideoPlaybackQuality) {
                        var r = this._mediaElement.getVideoPlaybackQuality();
                        n = r.totalVideoFrames, i = r.droppedVideoFrames
                    } else null != this._mediaElement.webkitDecodedFrameCount ? (n = this._mediaElement.webkitDecodedFrameCount, i = this._mediaElement.webkitDroppedFrameCount) : t = !1;
                    return t && (e.decodedFrames = n, e.droppedFrames = i), e
                }
            }, {
                key: "_onmseUpdateEnd",
                value: function () {
                    if (this._config.lazyLoad && !this._config.isLive) {
                        for (var e = this._mediaElement.buffered, t = this._mediaElement.currentTime, n = 0, i = 0; i < e.length; i++) {
                            var r = e.start(i),
                                o = e.end(i);
                            if (r <= t && t < o) {
                                n = o;
                                break
                            }
                        }
                        n >= t + this._config.lazyLoadMaxDuration && null == this._progressChecker && (l.v(this.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), this._suspendTransmuxer())
                    }
                }
            }, {
                key: "_onmseBufferFull",
                value: function () {
                    l.v(this.TAG, "MSE SourceBuffer is full, suspend transmuxing task"), null == this._progressChecker && this._suspendTransmuxer()
                }
            }, {
                key: "_suspendTransmuxer",
                value: function () {
                    this._transmuxer && (this._transmuxer.pause(), null == this._progressChecker && (this._progressChecker = window.setInterval(this._checkProgressAndResume.bind(this), 1e3)))
                }
            }, {
                key: "_checkProgressAndResume",
                value: function () {
                    for (var e = this._mediaElement.currentTime, t = this._mediaElement.buffered, n = !1, i = 0; i < t.length; i++) {
                        var r = t.start(i),
                            o = t.end(i);
                        if (e >= r && e < o) {
                            e >= o - this._config.lazyLoadRecoverDuration && (n = !0);
                            break
                        }
                    }
                    n && (window.clearInterval(this._progressChecker), this._progressChecker = null, n && (l.v(this.TAG, "Continue loading from paused position"), this._transmuxer.resume()))
                }
            }, {
                key: "_isTimepointBuffered",
                value: function (e) {
                    for (var t = this._mediaElement.buffered, n = 0; n < t.length; n++) {
                        var i = t.start(n),
                            r = t.end(n);
                        if (e >= i && e < r) return !0
                    }
                    return !1
                }
            }, {
                key: "_internalSeek",
                value: function (e) {
                    var t = this._isTimepointBuffered(e),
                        n = !1,
                        i = 0;
                    if (e < 1 && this._mediaElement.buffered.length > 0) {
                        var r = this._mediaElement.buffered.start(0);
                        (r < 1 && e < r || D.safari) && (n = !0, i = D.safari ? .1 : r)
                    }
                    if (n) this._requestSetTime = !0, this._mediaElement.currentTime = i;
                    else if (t) {
                        if (this._alwaysSeekKeyframe) {
                            var o = this._msectl.getNearestKeyframe(Math.floor(1e3 * e));
                            this._requestSetTime = !0, this._mediaElement.currentTime = null != o ? o.dts / 1e3 : e
                        } else this._requestSetTime = !0, this._mediaElement.currentTime = e;
                        null != this._progressChecker && this._checkProgressAndResume()
                    } else null != this._progressChecker && (window.clearInterval(this._progressChecker), this._progressChecker = null), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && (this._requestSetTime = !0, this._mediaElement.currentTime = e)
                }
            }, {
                key: "_checkAndApplyUnbufferedSeekpoint",
                value: function () {
                    if (this._seekpointRecord)
                        if (this._seekpointRecord.recordTime <= this._now() - 100) {
                            var e = this._mediaElement.currentTime;
                            this._seekpointRecord = null, this._isTimepointBuffered(e) || (null != this._progressChecker && (window.clearTimeout(this._progressChecker), this._progressChecker = null), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && (this._requestSetTime = !0, this._mediaElement.currentTime = e))
                        } else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50)
                }
            }, {
                key: "_checkAndResumeStuckPlayback",
                value: function (e) {
                    var t = this._mediaElement;
                    if (e || !this._receivedCanPlay || t.readyState < 2) {
                        var n = t.buffered;
                        n.length > 0 && t.currentTime < n.start(0) && (l.w(this.TAG, "Playback seems stuck at ".concat(t.currentTime, ", seek to ").concat(n.start(0))), this._requestSetTime = !0, this._mediaElement.currentTime = n.start(0), this._mediaElement.removeEventListener("progress", this.e.onvProgress))
                    } else this._mediaElement.removeEventListener("progress", this.e.onvProgress)
                }
            }, {
                key: "_onvLoadedMetadata",
                value: function (e) {
                    null != this._pendingSeekTime && (this._mediaElement.currentTime = this._pendingSeekTime, this._pendingSeekTime = null)
                }
            }, {
                key: "_onvSeeking",
                value: function (e) {
                    var t = this._mediaElement.currentTime,
                        n = this._mediaElement.buffered;
                    if (this._requestSetTime) this._requestSetTime = !1;
                    else {
                        if (t < 1 && n.length > 0) {
                            var i = n.start(0);
                            if (i < 1 && t < i || D.safari) return this._requestSetTime = !0, void(this._mediaElement.currentTime = D.safari ? .1 : i)
                        }
                        if (this._isTimepointBuffered(t)) {
                            if (this._alwaysSeekKeyframe) {
                                var r = this._msectl.getNearestKeyframe(Math.floor(1e3 * t));
                                null != r && (this._requestSetTime = !0, this._mediaElement.currentTime = r.dts / 1e3)
                            }
                            null != this._progressChecker && this._checkProgressAndResume()
                        } else this._seekpointRecord = {
                            seekPoint: t,
                            recordTime: this._now()
                        }, window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50)
                    }
                }
            }, {
                key: "_onvCanPlay",
                value: function (e) {
                    this._receivedCanPlay = !0, this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay), this._emitter.emit("v6_can_play", "v6_can_play")
                }
            }, {
                key: "_onvStalled",
                value: function (e) {
                    this._checkAndResumeStuckPlayback(!0)
                }
            }, {
                key: "_onvProgress",
                value: function (e) {
                    this._checkAndResumeStuckPlayback()
                }
            }]) && bt(t.prototype, n), i && bt(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function wt(e) {
            return (wt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function St(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var xt = function () {
            function e(t, n) {
                if (function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TAG = "NativePlayer", this._type = "NativePlayer", this._emitter = new s.a, this._config = we(), "object" === wt(n) && Object.assign(this._config, n), "flv" === t.type.toLowerCase()) throw new x("NativePlayer does't support flv MediaDataSource input!");
                if (t.hasOwnProperty("segments")) throw new x("NativePlayer(".concat(t.type, ") doesn't support multipart playback!"));
                this.e = {
                    onvLoadedMetadata: this._onvLoadedMetadata.bind(this)
                }, this._pendingSeekTime = null, this._statisticsReporter = null, this._mediaDataSource = t, this._mediaElement = null
            }
            var t, n, i;
            return t = e, (n = [{
                key: "destroy",
                value: function () {
                    this._mediaElement && (this.unload(), this.detachMediaElement()), this.e = null, this._mediaDataSource = null, this._emitter.removeAllListeners(), this._emitter = null
                }
            }, {
                key: "on",
                value: function (e, t) {
                    var n = this;
                    e === Le.MEDIA_INFO ? null != this._mediaElement && 0 !== this._mediaElement.readyState && Promise.resolve().then((function () {
                        n._emitter.emit(Le.MEDIA_INFO, n.mediaInfo)
                    })) : e === Le.STATISTICS_INFO && null != this._mediaElement && 0 !== this._mediaElement.readyState && Promise.resolve().then((function () {
                        n._emitter.emit(Le.STATISTICS_INFO, n.statisticsInfo)
                    })), this._emitter.addListener(e, t)
                }
            }, {
                key: "off",
                value: function (e, t) {
                    this._emitter.removeListener(e, t)
                }
            }, {
                key: "attachMediaElement",
                value: function (e) {
                    if (this._mediaElement = e, e.addEventListener("loadedmetadata", this.e.onvLoadedMetadata), null != this._pendingSeekTime) try {
                        e.currentTime = this._pendingSeekTime, this._pendingSeekTime = null
                    } catch (e) {}
                }
            }, {
                key: "detachMediaElement",
                value: function () {
                    this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src"), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), this._mediaElement = null), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
                }
            }, {
                key: "load",
                value: function () {
                    if (!this._mediaElement) throw new S("HTMLMediaElement must be attached before load()!");
                    this._mediaElement.src = this._mediaDataSource.url, this._mediaElement.readyState > 0 && (this._mediaElement.currentTime = 0), this._mediaElement.preload = "auto", this._mediaElement.load(), this._statisticsReporter = window.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval)
                }
            }, {
                key: "unload",
                value: function () {
                    this._mediaElement && (this._mediaElement.src = "", this._mediaElement.removeAttribute("src")), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), this._statisticsReporter = null)
                }
            }, {
                key: "play",
                value: function () {
                    return this._mediaElement.play()
                }
            }, {
                key: "pause",
                value: function () {
                    this._mediaElement.pause()
                }
            }, {
                key: "type",
                get: function () {
                    return this._type
                }
            }, {
                key: "buffered",
                get: function () {
                    return this._mediaElement.buffered
                }
            }, {
                key: "duration",
                get: function () {
                    return this._mediaElement.duration
                }
            }, {
                key: "volume",
                get: function () {
                    return this._mediaElement.volume
                },
                set: function (e) {
                    this._mediaElement.volume = e
                }
            }, {
                key: "muted",
                get: function () {
                    return this._mediaElement.muted
                },
                set: function (e) {
                    this._mediaElement.muted = e
                }
            }, {
                key: "currentTime",
                get: function () {
                    return this._mediaElement ? this._mediaElement.currentTime : 0
                },
                set: function (e) {
                    this._mediaElement ? this._mediaElement.currentTime = e : this._pendingSeekTime = e
                }
            }, {
                key: "mediaInfo",
                get: function () {
                    var e = {
                        mimeType: (this._mediaElement instanceof HTMLAudioElement ? "audio/" : "video/") + this._mediaDataSource.type
                    };
                    return this._mediaElement && (e.duration = Math.floor(1e3 * this._mediaElement.duration), this._mediaElement instanceof HTMLVideoElement && (e.width = this._mediaElement.videoWidth, e.height = this._mediaElement.videoHeight)), e
                }
            }, {
                key: "statisticsInfo",
                get: function () {
                    var e = {
                        playerType: this._type,
                        url: this._mediaDataSource.url
                    };
                    if (!(this._mediaElement instanceof HTMLVideoElement)) return e;
                    var t = !0,
                        n = 0,
                        i = 0;
                    if (this._mediaElement.getVideoPlaybackQuality) {
                        var r = this._mediaElement.getVideoPlaybackQuality();
                        n = r.totalVideoFrames, i = r.droppedVideoFrames
                    } else null != this._mediaElement.webkitDecodedFrameCount ? (n = this._mediaElement.webkitDecodedFrameCount, i = this._mediaElement.webkitDroppedFrameCount) : t = !1;
                    return t && (e.decodedFrames = n, e.droppedFrames = i), e
                }
            }, {
                key: "_onvLoadedMetadata",
                value: function (e) {
                    null != this._pendingSeekTime && (this._mediaElement.currentTime = this._pendingSeekTime, this._pendingSeekTime = null), this._emitter.emit(Le.MEDIA_INFO, this.mediaInfo)
                }
            }, {
                key: "_reportStatisticsInfo",
                value: function () {
                    this._emitter.emit(Le.STATISTICS_INFO, this.statisticsInfo)
                }
            }]) && St(t.prototype, n), i && St(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();

        function Lt(e) {
            return (Lt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }
        o.install();
        var kt = {
            createPlayer: function (e, t) {
                var n = e;
                if (null == n || "object" !== Lt(n)) throw new x("MediaDataSource must be an javascript object!");
                if (!n.hasOwnProperty("type")) throw new x("MediaDataSource must has type field to indicate video file type!");
                switch (n.type) {
                    case "flv":
                        return new Et(n, t);
                    default:
                        return new xt(n, t)
                }
            },
            isSupported: function () {
                return xe.supportMSEH264Playback()
            },
            getFeatureList: function () {
                return xe.getFeatureList()
            }
        };
        kt.BaseLoader = A, kt.LoaderStatus = M, kt.LoaderErrors = I, kt.Events = Le, kt.ErrorTypes = mt, kt.ErrorDetails = gt, kt.FlvPlayer = Et, kt.NativePlayer = xt, kt.LoggingControl = Ie, Object.defineProperty(kt, "version", {
            enumerable: !0,
            get: function () {
                return "__VERSION__"
            }
        });
        var Mt = kt,
            It = jQuery;

        function At() {
            var e = window.test || !1;
            if (location.search.indexOf("playerlog") > -1 || 1 == e) {
                for (var t, n = arguments.length, i = new Array(n), r = 0; r < n; r++) i[r] = arguments[r];
                window.v6LogInfo = i + "\n" + window.v6LogInfo, (t = console).log.apply(t, ["[v6log]==> "].concat(i))
            }
        }

        function Tt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Dt = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this.TYPE = "flvjs", this._myFlvjsPlayer = null, this._myVideo = null, this._streamUrl = null, this._startFlag = null, this._delayFlag = null, this._replayFlag = null, this._bufferFlag = null, this._userCommand = "play", this._streamStatus = null, this._videoPlayStatus = "play", this._startTimerFlag = null, this._test = !1, this.Events = {
                        playState: null,
                        canplay: null,
                        netError: null,
                        replayed: null,
                        onSwitchLine: null
                    }, this._replayNum = 0, Mt.LoggingControl.enableAll = !1, Mt.LoggingControl.addLogListener((function (e, t) {
                        At("[flvjs]> " + t)
                    })), this._myVideo = t, this.VideoListener()
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "type",
                    get: function () {
                        return "flvjs"
                    }
                }, {
                    key: "buffer",
                    set: function (e) {
                        this._buffer = e
                    }
                }, {
                    key: "startlive",
                    value: function (e) {
                        var t = this;
                        this._userCommand = "play", e != t._streamUrl && (this._replayNum = 0), t._streamUrl = e, At("startlive==> " + t._streamUrl), this.removePlayer(), t._streamStatus = "start", t._startFlag = setTimeout((function () {
                            t.createPlayer(e + ".flv")
                        }), 60), t.Events.replayed()
                    }
                }, {
                    key: "setVolume",
                    value: function (e) {
                        e > 0 && 1 == this._myFlvjsPlayer.muted && (this._myFlvjsPlayer.muted = !1), this._myFlvjsPlayer.volume = e
                    }
                }, {
                    key: "play",
                    value: function () {
                        this._userCommand = "play", this._myFlvjsPlayer.play()
                    }
                }, {
                    key: "pause",
                    value: function () {
                        this._userCommand = "pause", this._myFlvjsPlayer.pause()
                    }
                }, {
                    key: "replay",
                    value: function () {
                        this._replayNum++, At("replay(" + this._replayNum + ")"), this.startlive(this._streamUrl)
                    }
                }, {
                    key: "remove",
                    value: function () {
                        this.removePlayer()
                    }
                }, {
                    key: "createPlayer",
                    value: function (e) {
                        var t = this;
                        "audio" == window.J_h5player.params.mode && (this._buffer = 24), Mt.isSupported() ? (t._myFlvjsPlayer = Mt.createPlayer({
                            type: "flv",
                            url: e,
                            isLive: !0
                        }, {
                            fixAudioTimestampGap: !0,
                            enableStashBuffer: !1,
                            stashInitialSize: this._buffer,
                            lazyLoad: !1,
                            deferLoadAfterSourceOpen: !1
                        }), t._myFlvjsPlayer.attachMediaElement(t._myVideo), t._myFlvjsPlayer.load()) : (console.log("此浏览器不支持h5播放器 ！"), window[window.J_h5player.params.switchFun]("flash")), this._myFlvjsPlayer.on(Mt.Events.ERROR, t.flvjsHandler.bind(this)), this._myFlvjsPlayer.on("v6_can_play", t.flvjsHandler.bind(this)), this._myFlvjsPlayer.on("v6_source_end", t.flvjsHandler.bind(this)), this._myFlvjsPlayer.on("v6_source_close", t.flvjsHandler.bind(this)), this._myFlvjsPlayer.on(Mt.Events.LOADING_COMPLETE, t.flvjsHandler.bind(this), Mt.Events.LOADING_COMPLETE), this._myFlvjsPlayer.on(Mt.Events.STATISTICS_INFO, t.flvjsHandler.bind(this, Mt.Events.STATISTICS_INFO)), this._myFlvjsPlayer.on(Mt.Events.NETWORK_ERROR, t.flvjsHandler.bind(this), Mt.Events.NETWORK_ERROR), this._myFlvjsPlayer.on(Mt.Events.MEDIA_MSE_ERROR, t.flvjsHandler.bind(this), Mt.Events.MEDIA_MSE_ERROR), t.listenerDelay(), clearTimeout(t._startTimerFlag), t._startTimerFlag = setTimeout((function () {
                            "start" == t._streamStatus && (t._streamStatus = "Error", t.Events.onSwitchLine())
                        }), 15e3), t._streamStatus = "start"
                    }
                }, {
                    key: "removePlayer",
                    value: function () {
                        this._streamStatus = null, clearTimeout(this._startTimerFlag), clearInterval(this._delayFlag), clearTimeout(this._replayFlag), clearTimeout(this._startFlag), null != this._myFlvjsPlayer && (this._myFlvjsPlayer.detachMediaElement(), this._myFlvjsPlayer._emitter.removeAllListeners(), this._myFlvjsPlayer.unload(), this._myFlvjsPlayer.destroy(), this._myFlvjsPlayer = null)
                    }
                }, {
                    key: "flvjsHandler",
                    value: function (e, t) {
                        var n = this;
                        switch (e) {
                            case "v6_can_play":
                                At("flvjs--\x3e", e);
                                var i = n._myFlvjsPlayer.play();
                                n._playing = !0, void 0 !== i ? (At("！！promise --\x3e", "promise !== undefined"), i.then((function (e) {
                                    n.Events.canplay(!0)
                                })).catch((function (e) {
                                    n.Events.canplay(!1), n._myFlvjsPlayer.muted = !0, n._myFlvjsPlayer.play()
                                }))) : (console.log("此浏览器不支持h5播放器 ！"), window[window.J_h5player.params.switchFun]("flash")), n._streamStatus = "CAN_PLAY", clearTimeout(n._startTimerFlag);
                                break;
                            case "v6_audioDemuxErrors":
                                At("flvjs--\x3e", e), n._streamStatus = "Error";
                                break;
                            case "NetworkError":
                                At("flvjs--\x3e", e), n.Events.netError(), n._streamStatus = "Error", "pause" != n._userCommand && (n._replayFlag = setTimeout((function () {
                                    n.replay()
                                }), 1e3));
                                break;
                            case "v6_source_end":
                                At("flvjs--\x3e", e), n._streamStatus = "Error", "pause" != n._userCommand && n.replay();
                                break;
                            case "v6_source_close":
                                At("flvjs--\x3e", e), n._streamStatus = "Error";
                                break;
                            case "statistics_info":
                                n._has_LoadData = !0;
                                break;
                            case "loading_complete":
                                At("flvjs--\x3e", e), n._streamStatus = "Error", n._myUI.setliveStatus("show", "等待主播开始 . . .");
                                break;
                            case "NetworkError":
                                At("flvjs--\x3e", e)
                        }
                    }
                }, {
                    key: "VideoListener",
                    value: function () {
                        var e = this,
                            t = e._myVideo;
                        t.addEventListener("timeupdate", (function (n) {
                            switch (t.readyState) {
                                case 0:
                                case 1:
                                    break;
                                case 2:
                                    e._streamStatus = "empty";
                                    break;
                                case 4:
                                    e._streamStatus = "full"
                            }
                        })), t.addEventListener("loadedmetadata", (function (e) {
                            At("myVideo->loadedmetadata")
                        })), t.addEventListener("pause", (function (t) {
                            At("pause!"), e.Events.playState("pause"), e._videoPlayStatus = "pause"
                        })), t.addEventListener("play", (function (t) {
                            At("play!"), e.Events.playState("play"), e._videoPlayStatus = "play"
                        }))
                    }
                }, {
                    key: "listenerDelay",
                    value: function () {
                        var e = this,
                            t = e._myVideo,
                            n = 0,
                            i = !0,
                            r = !0;
                        clearInterval(this._delayFlag), this._delayFlag = setInterval((function () {
                            if ("full" == e._streamStatus && "pause" != e._userCommand && (n++, t.buffered.length >= 1)) try {
                                ! function () {
                                    var r = t.buffered;
                                    1 == i && (n = r.end(0), i = !1), n - r.end(0) < -1 && (n = r.end(0)), (r.end(0) - t.currentTime < .5 && n - r.end(0) > 1 && (At("timer:" + n, "| buffered.end：" + r.end(0)), At("time - buffered.end：", (n - r.end(0)).toFixed(2), "S"), n - r.end(0) > 10) || n - r.end(0) > 10) && e.replay()
                                }(), n > 30 && function () {
                                    var t = e._myVideo,
                                        n = t.buffered,
                                        i = n.end(0) - t.currentTime;
                                    At("buffered.length=", n.length, "buffered.start(0)=", n.start(0), "buffered.end(0)=", n.end(0), "myVideo.currentTime=", t.currentTime, "that._userCommand=" + e._userCommand), 1 == r && i > 3.2 && (r = !1, t.currentTime = n.end(0) - 3.2, At("--\x3e（init >3.2 重新设置）c:" + t.currentTime, "--end():" + n.end(0), "--(e - c)", n.end(0) - t.currentTime)), n.end(0) - t.currentTime > 4.5 && ("pause" != e._userCommand && "pause" == e._videoPlayStatus && t.play(), "audio" == window.J_h5player.params.mode || "play" == e._userCommand && (t.currentTime = n.end(0) - 3.2, At("--\x3ec:" + t.currentTime, "--end():" + n.end(0), "--(e - c)", n.end(0) - t.currentTime)))
                                }()
                            } catch (e) {}
                        }), 1e3)
                    }
                }, {
                    key: "listenerSleep",
                    value: function () {
                        var e = 0,
                            t = 0,
                            n = new Blob(["            onmessage = function(event){                let data = event.data;                let time=0;                setInterval(function(){                    time++;                    postMessage(time);                }, 1000);            };        "]),
                            i = window.URL.createObjectURL(n),
                            r = new Worker(i);
                        r.postMessage("start"), r.onmessage = function (t) {
                            e = parseInt(t.data)
                        }, document.addEventListener("visibilitychange", (function () {
                            "hidden" == document.visibilityState || At("worker=", e, "---- frontTime=", t)
                        })), setInterval((function () {
                            t++
                        }), 1e3)
                    }
                }]) && Tt(t.prototype, n), i && Tt(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            Rt = n(123),
            Ot = (n(317), n(124)),
            Ct = n.n(Ot);

        function Nt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var jt = jQuery,
            Pt = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._config = null, this._root_El = null, this._control_El = null, this._ui_El = null, this._liveStatus_El = null, this._isShow_tatusPanel = !1, this._myVideo = null, this._initMuted = !1, this.Events = {
                        onPlay: null,
                        onPause: null,
                        onVolume: null,
                        onDanmu: null,
                        onRecode: null
                    }, this._userVolumeMouseDown = !1, this._show = !1;
                    this._config = t;
                    var n = t.el;
                    jt(Ct.a).appendTo(n).eq(0), this._root_El = n, this._control_El = this._root_El.find(".h5_video_contrl_panel"), this._ui_El = this._root_El.find(".h5-player-ui"), this._liveStatus_El = this._ui_El.find(".hvc-liveStatus"), this._myVideo = this._root_El.children("video")[0], this.setup()
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "setup",
                    value: function () {
                        var e = this;
                        e.ControlBar(), this.tooltips(), e._myVideo.addEventListener("volumechange", (function () {
                            0 == e._userVolumeMouseDown && (e._myVideo.muted ? e.setVolume_ui(0) : e.setVolume_ui(100 * e._myVideo.volume))
                        }), !1), this._liveStatus_El.hide()
                    }
                }, {
                    key: "removeMute_panel",
                    value: function () {
                        var e = this._ui_El.children(".hvc-muted-panel"),
                            t = this._ui_El.find(".hvc-muted-tag");
                        e && (e.remove(), t.remove())
                    }
                }, {
                    key: "setMuted_panel",
                    value: function () {
                        var e = this,
                            t = e._ui_El.children(".hvc-muted-panel"),
                            n = e._ui_El.find(".hvc-muted-button"),
                            i = e._ui_El.find(".hvc-muted-tag");
                        t.show(), i.show(), n.click((function () {
                            e.setVolume(80), t.remove(), i.remove()
                        }))
                    }
                }, {
                    key: "setliveStatus",
                    value: function () {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "show",
                            t = arguments.length > 1 ? arguments[1] : void 0,
                            n = this;
                        "show" == e ? (n._isShow_tatusPanel = !0, this._liveStatus_El.show(), n._root_El.find(".hvc-liveStatus .content>span").text(t)) : (n._isShow_tatusPanel = !1, this._liveStatus_El.hide())
                    }
                }, {
                    key: "ui_Play",
                    value: function () {
                        this._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-pause"
                    }
                }, {
                    key: "ui_Pause",
                    value: function () {
                        this._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-play"
                    }
                }, {
                    key: "ControlBar",
                    value: function () {
                        var e = this;

                        function t() {
                            0 == e._isShow_tatusPanel && e.controlBar_show()
                        }
                        this.startupVolume(), 1 == e._config.fixControlBar || (setTimeout(jt.proxy(e.controlBar_hide, e), 1e4), this._root_El.on("mouseenter", (function (n) {
                            0 == e._isShow_tatusPanel && e.controlBar_show(), e._root_El.on("mousemove", t)
                        })), this._root_El.on("mouseleave", (function (n) {
                            e._root_El.off("mousemove", t), setTimeout(jt.proxy(e.controlBar_hide, e), 1e3)
                        }))), e._control_El.on("click", "a, p", (function (t) {
                            switch (t.preventDefault(), this.className) {
                                case "hvc-play":
                                    e.Events.onPlay(), e._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-pause", console.log("play!");
                                    break;
                                case "hvc-pause":
                                    console.log("this.testId: ", e.testId), e.Events.onPause(), e._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-play", console.log("pause!");
                                    break;
                                case "hvc-voice":
                                    e.setVolume(0), e._control_El.find(".hvc-tooltips span").html("取消静音"), e._control_El.find(".hvc-tooltips").css({
                                        display: "block",
                                        left: "35px"
                                    });
                                    break;
                                case "hvc-muted":
                                    e.setVolume(80), e._initMuted = !1, e._control_El.find(".hvc-tooltips span").html("静音"), e._control_El.find(".hvc-tooltips").css({
                                        display: "block",
                                        left: "45px"
                                    });
                                    break;
                                case "hvc-recode":
                                    e.Events.onRecode();
                                    break;
                                case "hvc-danmu-control":
                                    var n = jt(this).hasClass("hvc-danmu-control-on"),
                                        i = n ? "removeClass" : "addClass";
                                    return e._control_El.find("p.hvc-danmu-control")[i]("hvc-danmu-control-on"), e.Events.onDanmu(!n), !1;
                                case "hvc-recode":
                                    e.Events.onRecode();
                                    break;
                                case "hvc-def-cur":
                                    var r = e._control_El.find(".hvc-definition>span");
                                    "none" == r.css("display") ? r.show() : r.hide();
                                    break;
                                case "hvc-line-cur":
                                    var o = e._control_El.find(".hvc-lines>span");
                                    "none" == o.css("display") ? o.show() : o.hide();
                                    break;
                                case "hvc-def1":
                                    e._control_El.find(".hvc-definition>span").hide(), e._control_El.find(".hvc-definition>span>a.hvc-def1").addClass("on"), e._control_El.find(".hvc-definition>span>a.hvc-def2").removeClass("on"), e._control_El.find(".hvc-def-cur").html("高清"), e.Events.onSwitchDefinition(1);
                                    break;
                                case "hvc-def2":
                                    e._control_El.find(".hvc-definition>span").hide(), e._control_El.find(".hvc-definition>span>a.hvc-def2").addClass("on"), e._control_El.find(".hvc-definition>span>a.hvc-def1").removeClass("on"), e._control_El.find(".hvc-def-cur").html("标清"), e.Events.onSwitchDefinition(2);
                                    break;
                                case "hvc-line1":
                                    e._control_El.find(".hvc-lines>span").hide(), e._control_El.find(".hvc-lines>span>a.hvc-line1").addClass("on"), e._control_El.find(".hvc-lines>span>a.hvc-line2").removeClass("on"), e._control_El.find(".hvc-line-cur").html("线路1"), e.Events.onSwitchLine(1);
                                    break;
                                case "hvc-line2":
                                    e._control_El.find(".hvc-lines>span").hide(), e._control_El.find(".hvc-lines>span>a.hvc-line2").addClass("on"), e._control_El.find(".hvc-lines>span>a.hvc-line1").removeClass("on"), e._control_El.find(".hvc-line-cur").html("线路2"), e.Events.onSwitchLine(2)
                            }
                        }))
                    }
                }, {
                    key: "tooltips",
                    value: function () {
                        var e = this;
                        e._control_El.on("mouseover", "a, p", (function (t) {
                            switch (this.className) {
                                case "hvc-voice":
                                    e._control_El.find(".hvc-tooltips span").html("静音"), e._control_El.find(".hvc-tooltips").fadeIn(200), e._control_El.find(".hvc-tooltips").css({
                                        left: "45px"
                                    });
                                    break;
                                case "hvc-muted":
                                    e._control_El.find(".hvc-tooltips span").html("取消静音"), e._control_El.find(".hvc-tooltips").fadeIn(200), e._control_El.find(".hvc-tooltips").css({
                                        left: "35px"
                                    });
                                    break;
                                case "hvc-danmu-control":
                                    var n = e._control_El.find(this).hasClass("hvc-danmu-control-on") ? "关闭弹幕" : "打开弹幕";
                                    e._control_El.find(".hvc-tooltips span").html(n);
                                    var i = e._control_El.width() - 110;
                                    e._control_El.find(".hvc-tooltips").fadeIn(200), e._control_El.find(".hvc-tooltips").css({
                                        left: i + "px"
                                    });
                                    break;
                                case "hvc-recode":
                                    e._control_El.find(".hvc-tooltips span").html("录制帮助"), e._control_El.find(".hvc-tooltips").fadeIn(200), e._control_El.find(".hvc-tooltips").css({
                                        left: "210px"
                                    })
                            }
                        })), e._control_El.on("mouseout", (function (t) {
                            switch (e._control_El.find(".hvc-tooltips").stop(), e._control_El.find(".hvc-tooltips").css("display", "none"), this.className) {
                                case "hvc-voice":
                                case "hvc-muted":
                                case "hvc-danmu-control":
                                case "hvc-danmu-control hvc-danmu-control-on":
                                case "hvc-danmu-handle":
                                case "hvc-recode":
                                    e._control_El.find(".hvc-tooltips").css("display", "none")
                            }
                        }))
                    }
                }, {
                    key: "setVolume",
                    value: function (e) {
                        this.setVolume_ui(e), this.Events.onVolume(e / 100)
                    }
                }, {
                    key: "setVolume_ui",
                    value: function (e) {
                        var t = e / 100 * this._control_El.find(".hvc-min").width() - 6;
                        this._control_El.find("span.hvc-max").css("width", t), this._control_El.find("a.hvc-volume-handle").css("left", t), this._control_El.find("a.hvc-voice, a.hvc-muted")[0].className = 0 == e ? "hvc-muted" : "hvc-voice", this._ui_El.find(".hvc-muted-panel") && 0 != e && (this._ui_El.find(".hvc-muted-panel").remove(), this._ui_El.find(".hvc-muted-tag").remove())
                    }
                }, {
                    key: "startupVolume",
                    value: function () {
                        var e = this,
                            t = e._control_El.find("span.hvc-max"),
                            n = e._control_El.find("a.hvc-volume-handle"),
                            i = parseInt(t.offset().left),
                            r = parseInt(jt("span.hvc-min").width());

                        function o(t) {
                            var n = (t.pageX - i) / r * 100,
                                o = Math.round(Math.min(Math.max(0, n), 100));
                            return e.setVolume(o), !1
                        }
                        jt(".hvc-volume").on("mousedown", (function (t) {
                            e._userVolumeMouseDown = !0, o(t)
                        })), n.on("mousedown", (function (t) {
                            e._userVolumeMouseDown = !1, t.pageX, parseInt(n.css("left")), jt(document).on("mousemove", o), jt(document).on("mouseup", (function () {
                                jt(document).off("mousemove", o), jt(document).off("mouseup")
                            }))
                        }))
                    }
                }, {
                    key: "controlBar_show",
                    value: function () {
                        if (!1 === this._show && this._control_El) {
                            this._control_El.css({
                                overflow: "visible"
                            }), this._show = !0;
                            var e = 38;
                            e = this._ui_El.parent().height() < 300 ? 20 : 38, this._control_El.stop().animate({
                                height: e
                            }, "fast")
                        }
                    }
                }, {
                    key: "controlBar_hide",
                    value: function () {
                        0 == this._initMuted && this._control_El && (this._control_El.css({
                            overflow: "hidden"
                        }), this._control_El.stop().animate({
                            height: 0
                        }, "fast"), this._control_El.find(".hvc-definition>span").hide(), this._control_El.find(".hvc-lines>span").hide(), this._show = !1)
                    }
                }]) && Nt(t.prototype, n), i && Nt(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            Bt = n(125),
            Ut = n.n(Bt);

        function Ft(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var zt = jQuery,
            Vt = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._config = null, this._root_El = null, this._control_El = null, this._ui_El = null, this._liveStatus_El = null, this._myVideo = null, this._initMuted = !1, this.Events = {
                        onPlay: null,
                        onPause: null,
                        onVolume: null,
                        onDanmu: null,
                        onRecode: null
                    }, this._userVolumeMouseDown = !1, this._show = !1;
                    this._config = t;
                    var n = t.el;
                    zt(Ut.a).appendTo(n).eq(0), this._root_El = n, this._control_El = this._root_El.find(".h5_video_contrl_panel"), this._ui_El = this._root_El.find(".h5-player-ui"), this._liveStatus_El = this._ui_El.find(".hvc-liveStatus"), this._myVideo = this._root_El.children("video")[0], this.setup()
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "setup",
                    value: function () {
                        var e = this;
                        e.MiddleButton(), e.ControlBar(), 1 == e._config.params.hideControlBar && (this._control_El.hide(), e._ui_El.find(".hvc-middle-panel").hide()), e._myVideo.addEventListener("volumechange", (function () {
                            0 == e._userVolumeMouseDown && (e._myVideo.muted ? e.setVolume_ui(0) : e.setVolume_ui(100 * e._myVideo.volume))
                        }), !1), this._liveStatus_El.hide()
                    }
                }, {
                    key: "MiddleButton",
                    value: function () {
                        var e = this,
                            t = e._ui_El.find(".hvc-middleEnter-button"),
                            n = e._ui_El.find(".hvc-middlePlay-button");
                        n.hide(), t.hide(), e._root_El.children("video")[0].addEventListener("play", (function (e) {
                            n.hide(), t.show()
                        })), n.click((function () {
                            e.Events.onPlay(), e._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-pause"
                        }))
                    }
                }, {
                    key: "setMuted_panel",
                    value: function () {
                        var e = this,
                            t = e._root_El.children(".hvc-muted-panel"),
                            n = e._root_El.children(".hvc-muted-button"),
                            i = e._root_El.children(".muted_tag");
                        t.show(), i.show(), n.click((function () {
                            e.setVolume(99), t.remove(), i.remove()
                        }))
                    }
                }, {
                    key: "setliveStatus",
                    value: function () {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "show",
                            t = arguments.length > 1 ? arguments[1] : void 0,
                            n = this;
                        n._ui_El.find(".h5-player-loading").hide(), n._ui_El.find(".h5-video-bg").hide(), "show" == e ? (this._liveStatus_El.show(), n._root_El.find(".hvc-liveStatus .content>span").text(t)) : this._liveStatus_El.hide()
                    }
                }, {
                    key: "ui_Play",
                    value: function () {
                        this._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-pause"
                    }
                }, {
                    key: "ui_Pause",
                    value: function () {
                        this._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-play"
                    }
                }, {
                    key: "ControlBar",
                    value: function () {
                        var e = this;

                        function t() {
                            e.controlBar_show()
                        }
                        this.startupVolume(), setTimeout(zt.proxy(e.controlBar_hide, e), 1e4), this._root_El.on("mouseenter", (function (n) {
                            e.controlBar_show(), e._root_El.on("mousemove", t)
                        })), this._root_El.on("mouseleave", (function (n) {
                            e._root_El.off("mousemove", t), setTimeout(zt.proxy(e.controlBar_hide, e), 500)
                        })), e._control_El.find(".hvc-left").on("click", "a, p", (function (t) {
                            switch (t.preventDefault(), this.className) {
                                case "hvc-play":
                                    e.Events.onPlay(), e._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-pause";
                                    break;
                                case "hvc-pause":
                                    e.Events.onPause(), e._control_El.find("a.hvc-pause, a.hvc-play")[0].className = "hvc-play";
                                    break;
                                case "hvc-voice":
                                    e.setVolume(0);
                                    break;
                                case "hvc-muted":
                                    e.setVolume(80), e._initMuted = !1
                            }
                        }))
                    }
                }, {
                    key: "setVolume",
                    value: function (e) {
                        this.setVolume_ui(e), this.Events.onVolume(e / 100)
                    }
                }, {
                    key: "setVolume_ui",
                    value: function (e) {
                        var t = e / 100 * this._control_El.find(".hvc-min").width() - 6;
                        this._control_El.find("span.hvc-max").css("width", t), this._control_El.find("a.hvc-volume-handle").css("left", t), this._control_El.find("a.hvc-voice, a.hvc-muted")[0].className = 0 == e ? "hvc-muted" : "hvc-voice", zt(".hvc-muted-panel") && 0 != e && (zt(".hvc-muted-panel").remove(), zt(".hvc-muted-tag").remove())
                    }
                }, {
                    key: "startupVolume",
                    value: function () {
                        var e = this,
                            t = e._control_El.find("span.hvc-max"),
                            n = e._control_El.find("a.hvc-volume-handle"),
                            i = parseInt(t.offset().left),
                            r = parseInt(zt("span.hvc-min").width());

                        function o(t) {
                            var n = (t.pageX - i) / r * 100,
                                o = Math.round(Math.min(Math.max(0, n), 100));
                            return e.setVolume(o), !1
                        }
                        zt(".hvc-volume").on("mousedown", (function (t) {
                            e._userVolumeMouseDown = !0, o(t)
                        })), n.on("mousedown", (function (t) {
                            e._userVolumeMouseDown = !1, t.pageX, parseInt(n.css("left")), zt(document).on("mousemove", o), zt(document).on("mouseup", (function () {
                                zt(document).off("mousemove", o), zt(document).off("mouseup")
                            }))
                        }))
                    }
                }, {
                    key: "controlBar_show",
                    value: function () {
                        var e = this._ui_El.find(".hvc-middleEnter-button"),
                            t = this._ui_El.find(".hvc-middlePlay-button");
                        "none" == e.css("display") && "none" == t.css("display") && e.show(), !1 === this._show && this._control_El && (this._control_El.css({
                            overflow: "visible"
                        }), this._show = !0, this._control_El.stop().animate({
                            height: 38
                        }, "fast"))
                    }
                }, {
                    key: "controlBar_hide",
                    value: function () {
                        this._ui_El.find(".hvc-middleEnter-button").hide(), 0 == this._initMuted && this._control_El && (this._control_El.css({
                            overflow: "hidden"
                        }), this._control_El.stop().animate({
                            height: 0
                        }, "fast"), this._show = !1)
                    }
                }]) && Ft(t.prototype, n), i && Ft(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }();

        function Gt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        var Ht = jQuery,
            Wt = function () {
                function e(t) {
                    ! function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._timeFlag = null, this._space = 20, this._emptyData = "", this._isEmpty = !1, this._emptyTime = null, this.restart()
                }
                var t, n, i;
                return t = e, (n = [{
                    key: "restart",
                    value: function () {
                        var e = this;
                        this.Clear(), e._space = 20 + Math.round(20 * Math.random()), e._spaceTime = (new Date).getTime(), this._timeFlag = setTimeout((function () {
                            1 == this._isEmpty && e.addData(), null != window.J_h5player.streamName && 1 == window.J_h5player.rio && e.send(), e.restart()
                        }), 1e3 * e._space)
                    }
                }, {
                    key: "Clear",
                    value: function () {
                        this._emptyData = "", clearTimeout(this._timeFlag)
                    }
                }, {
                    key: "Empty",
                    value: function () {
                        this._emptyTime = (new Date).getTime(), this._isEmpty = !0
                    }
                }, {
                    key: "Full",
                    value: function () {
                        1 == this._isEmpty && this.addData(), this._isEmpty = !1
                    }
                }, {
                    key: "addData",
                    value: function () {
                        if (1 == this._isEmpty) {
                            var e = Math.floor(((new Date).getTime() - this._spaceTime) / 1e3),
                                t = (new Date).getTime() - this._emptyTime;
                            this._emptyData += e + ":" + t + ","
                        }
                    }
                }, {
                    key: "send",
                    value: function () {
                        var e = window.location.protocol + "//shrek.6.cn/live.6.cn/xs.php",
                            t = {
                                type: "GET",
                                data: {
                                    p: "fh",
                                    d: this._emptyData,
                                    f: window.J_h5player.streamName,
                                    w: window.J_h5player.ip,
                                    u: window.J_h5player.params.uid,
                                    t: this._space,
                                    n: Math.random()
                                },
                                url: e
                            };
                        Ht.ajax(t)
                    }
                }]) && Gt(t.prototype, n), i && Gt(t, i), Object.defineProperty(t, "prototype", {
                    writable: !1
                }), e
            }(),
            Yt = n(126),
            Zt = n.n(Yt);

        function Qt() {
            return Zt()('!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){var n,r="",o=!1;onmessage=function(e){var t=e.data;switch(t.onmessage=!0,console.log("worker <== "+t),t){case"startup":!function(){0==o&&(null!==n&&clearInterval(n),n=setInterval((function(){var e,t,n,o;"start"==r&&(o="http://127.0.0.1:6900/getroominfo?r="+(e=new Date,t=e.getMonth()+1,n=e.getDate(),t>=1&&t<=9&&(t="0"+t),n>=0&&n<=9&&(n="0"+n),e.getFullYear()+"_"+t+"_"+n+"__"+e.getHours()+"-"+e.getMinutes()+"-"+e.getSeconds()+"-"+e.getMilliseconds()),postMessage(o),function(e){var t=null;XMLHttpRequest?t=new XMLHttpRequest:ActiveXObject&&(t=new ActiveXObject("Microsoft.XMLHTTP")),null!=t&&(t.onreadystatechange=function(){4==t.readyState&&t.status},t.open("GET",e,!0),t.send(null))}(o))}),3e3));o=!0}();break;case"stop":r="stop",null!==n&&clearInterval(n);break;case"start":r="start"}}}]);', "Worker", void 0, n.p + "V6FlvPlayer.worker.js")
        }

        function Kt(e) {
            return (Kt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
                return typeof e
            } : function (e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Jt(e, t) {
            return function (e) {
                if (Array.isArray(e)) return e
            }(e) || function (e, t) {
                var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
                if (null == n) return;
                var i, r, o = [],
                    a = !0,
                    s = !1;
                try {
                    for (n = n.call(e); !(a = (i = n.next()).done) && (o.push(i.value), !t || o.length !== t); a = !0);
                } catch (e) {
                    s = !0, r = e
                } finally {
                    try {
                        a || null == n.return || n.return()
                    } finally {
                        if (s) throw r
                    }
                }
                return o
            }(e, t) || function (e, t) {
                if (!e) return;
                if ("string" == typeof e) return Xt(e, t);
                var n = Object.prototype.toString.call(e).slice(8, -1);
                "Object" === n && e.constructor && (n = e.constructor.name);
                if ("Map" === n || "Set" === n) return Array.from(e);
                if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Xt(e, t)
            }(e, t) || function () {
                throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
            }()
        }

        function Xt(e, t) {
            (null == t || t > e.length) && (t = e.length);
            for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
            return i
        }

        function qt() {
            /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
            qt = function () {
                return e
            };
            var e = {},
                t = Object.prototype,
                n = t.hasOwnProperty,
                i = "function" == typeof Symbol ? Symbol : {},
                r = i.iterator || "@@iterator",
                o = i.asyncIterator || "@@asyncIterator",
                a = i.toStringTag || "@@toStringTag";

            function s(e, t, n) {
                return Object.defineProperty(e, t, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }), e[t]
            }
            try {
                s({}, "")
            } catch (e) {
                s = function (e, t, n) {
                    return e[t] = n
                }
            }

            function u(e, t, n, i) {
                var r = t && t.prototype instanceof h ? t : h,
                    o = Object.create(r.prototype),
                    a = new S(i || []);
                return o._invoke = function (e, t, n) {
                    var i = "suspendedStart";
                    return function (r, o) {
                        if ("executing" === i) throw new Error("Generator is already running");
                        if ("completed" === i) {
                            if ("throw" === r) throw o;
                            return L()
                        }
                        for (n.method = r, n.arg = o;;) {
                            var a = n.delegate;
                            if (a) {
                                var s = b(a, n);
                                if (s) {
                                    if (s === l) continue;
                                    return s
                                }
                            }
                            if ("next" === n.method) n.sent = n._sent = n.arg;
                            else if ("throw" === n.method) {
                                if ("suspendedStart" === i) throw i = "completed", n.arg;
                                n.dispatchException(n.arg)
                            } else "return" === n.method && n.abrupt("return", n.arg);
                            i = "executing";
                            var u = c(e, t, n);
                            if ("normal" === u.type) {
                                if (i = n.done ? "completed" : "suspendedYield", u.arg === l) continue;
                                return {
                                    value: u.arg,
                                    done: n.done
                                }
                            }
                            "throw" === u.type && (i = "completed", n.method = "throw", n.arg = u.arg)
                        }
                    }
                }(e, n, a), o
            }

            function c(e, t, n) {
                try {
                    return {
                        type: "normal",
                        arg: e.call(t, n)
                    }
                } catch (e) {
                    return {
                        type: "throw",
                        arg: e
                    }
                }
            }
            e.wrap = u;
            var l = {};

            function h() {}

            function f() {}

            function d() {}
            var p = {};
            s(p, r, (function () {
                return this
            }));
            var _ = Object.getPrototypeOf,
                v = _ && _(_(x([])));
            v && v !== t && n.call(v, r) && (p = v);
            var m = d.prototype = h.prototype = Object.create(p);

            function g(e) {
                ["next", "throw", "return"].forEach((function (t) {
                    s(e, t, (function (e) {
                        return this._invoke(t, e)
                    }))
                }))
            }

            function y(e, t) {
                var i;
                this._invoke = function (r, o) {
                    function a() {
                        return new t((function (i, a) {
                            ! function i(r, o, a, s) {
                                var u = c(e[r], e, o);
                                if ("throw" !== u.type) {
                                    var l = u.arg,
                                        h = l.value;
                                    return h && "object" == Kt(h) && n.call(h, "__await") ? t.resolve(h.__await).then((function (e) {
                                        i("next", e, a, s)
                                    }), (function (e) {
                                        i("throw", e, a, s)
                                    })) : t.resolve(h).then((function (e) {
                                        l.value = e, a(l)
                                    }), (function (e) {
                                        return i("throw", e, a, s)
                                    }))
                                }
                                s(u.arg)
                            }(r, o, i, a)
                        }))
                    }
                    return i = i ? i.then(a, a) : a()
                }
            }

            function b(e, t) {
                var n = e.iterator[t.method];
                if (void 0 === n) {
                    if (t.delegate = null, "throw" === t.method) {
                        if (e.iterator.return && (t.method = "return", t.arg = void 0, b(e, t), "throw" === t.method)) return l;
                        t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method")
                    }
                    return l
                }
                var i = c(n, e.iterator, t.arg);
                if ("throw" === i.type) return t.method = "throw", t.arg = i.arg, t.delegate = null, l;
                var r = i.arg;
                return r ? r.done ? (t[e.resultName] = r.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, l) : r : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, l)
            }

            function E(e) {
                var t = {
                    tryLoc: e[0]
                };
                1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
            }

            function w(e) {
                var t = e.completion || {};
                t.type = "normal", delete t.arg, e.completion = t
            }

            function S(e) {
                this.tryEntries = [{
                    tryLoc: "root"
                }], e.forEach(E, this), this.reset(!0)
            }

            function x(e) {
                if (e) {
                    var t = e[r];
                    if (t) return t.call(e);
                    if ("function" == typeof e.next) return e;
                    if (!isNaN(e.length)) {
                        var i = -1,
                            o = function t() {
                                for (; ++i < e.length;)
                                    if (n.call(e, i)) return t.value = e[i], t.done = !1, t;
                                return t.value = void 0, t.done = !0, t
                            };
                        return o.next = o
                    }
                }
                return {
                    next: L
                }
            }

            function L() {
                return {
                    value: void 0,
                    done: !0
                }
            }
            return f.prototype = d, s(m, "constructor", d), s(d, "constructor", f), f.displayName = s(d, a, "GeneratorFunction"), e.isGeneratorFunction = function (e) {
                var t = "function" == typeof e && e.constructor;
                return !!t && (t === f || "GeneratorFunction" === (t.displayName || t.name))
            }, e.mark = function (e) {
                return Object.setPrototypeOf ? Object.setPrototypeOf(e, d) : (e.__proto__ = d, s(e, a, "GeneratorFunction")), e.prototype = Object.create(m), e
            }, e.awrap = function (e) {
                return {
                    __await: e
                }
            }, g(y.prototype), s(y.prototype, o, (function () {
                return this
            })), e.AsyncIterator = y, e.async = function (t, n, i, r, o) {
                void 0 === o && (o = Promise);
                var a = new y(u(t, n, i, r), o);
                return e.isGeneratorFunction(n) ? a : a.next().then((function (e) {
                    return e.done ? e.value : a.next()
                }))
            }, g(m), s(m, a, "Generator"), s(m, r, (function () {
                return this
            })), s(m, "toString", (function () {
                return "[object Generator]"
            })), e.keys = function (e) {
                var t = [];
                for (var n in e) t.push(n);
                return t.reverse(),
                    function n() {
                        for (; t.length;) {
                            var i = t.pop();
                            if (i in e) return n.value = i, n.done = !1, n
                        }
                        return n.done = !0, n
                    }
            }, e.values = x, S.prototype = {
                constructor: S,
                reset: function (e) {
                    if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(w), !e)
                        for (var t in this) "t" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0)
                },
                stop: function () {
                    this.done = !0;
                    var e = this.tryEntries[0].completion;
                    if ("throw" === e.type) throw e.arg;
                    return this.rval
                },
                dispatchException: function (e) {
                    if (this.done) throw e;
                    var t = this;

                    function i(n, i) {
                        return a.type = "throw", a.arg = e, t.next = n, i && (t.method = "next", t.arg = void 0), !!i
                    }
                    for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                        var o = this.tryEntries[r],
                            a = o.completion;
                        if ("root" === o.tryLoc) return i("end");
                        if (o.tryLoc <= this.prev) {
                            var s = n.call(o, "catchLoc"),
                                u = n.call(o, "finallyLoc");
                            if (s && u) {
                                if (this.prev < o.catchLoc) return i(o.catchLoc, !0);
                                if (this.prev < o.finallyLoc) return i(o.finallyLoc)
                            } else if (s) {
                                if (this.prev < o.catchLoc) return i(o.catchLoc, !0)
                            } else {
                                if (!u) throw new Error("try statement without catch or finally");
                                if (this.prev < o.finallyLoc) return i(o.finallyLoc)
                            }
                        }
                    }
                },
                abrupt: function (e, t) {
                    for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                        var r = this.tryEntries[i];
                        if (r.tryLoc <= this.prev && n.call(r, "finallyLoc") && this.prev < r.finallyLoc) {
                            var o = r;
                            break
                        }
                    }
                    o && ("break" === e || "continue" === e) && o.tryLoc <= t && t <= o.finallyLoc && (o = null);
                    var a = o ? o.completion : {};
                    return a.type = e, a.arg = t, o ? (this.method = "next", this.next = o.finallyLoc, l) : this.complete(a)
                },
                complete: function (e, t) {
                    if ("throw" === e.type) throw e.arg;
                    return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), l
                },
                finish: function (e) {
                    for (var t = this.tryEntries.length - 1; t >= 0; --t) {
                        var n = this.tryEntries[t];
                        if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), w(n), l
                    }
                },
                catch: function (e) {
                    for (var t = this.tryEntries.length - 1; t >= 0; --t) {
                        var n = this.tryEntries[t];
                        if (n.tryLoc === e) {
                            var i = n.completion;
                            if ("throw" === i.type) {
                                var r = i.arg;
                                w(n)
                            }
                            return r
                        }
                    }
                    throw new Error("illegal catch attempt")
                },
                delegateYield: function (e, t, n) {
                    return this.delegate = {
                        iterator: x(e),
                        resultName: t,
                        nextLoc: n
                    }, "next" === this.method && (this.arg = void 0), l
                }
            }, e
        }

        function $t(e, t, n, i, r, o, a) {
            try {
                var s = e[o](a),
                    u = s.value
            } catch (e) {
                return void n(e)
            }
            s.done ? t(u) : Promise.resolve(u).then(i, r)
        }

        function en(e) {
            return function () {
                var t = this,
                    n = arguments;
                return new Promise((function (i, r) {
                    var o = e.apply(t, n);

                    function a(e) {
                        $t(o, i, r, a, s, "next", e)
                    }

                    function s(e) {
                        $t(o, i, r, a, s, "throw", e)
                    }
                    a(void 0)
                }))
            }
        }

        function tn(e, t) {
            for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
            }
        }
        window.test = !1;
        var nn = jQuery;
        Object(Rt.idempotentBabelPolyfill)();
        var rn = function () {
            function e(t) {
                ! function (e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._hls_version = "ver=flvjs 1.0", this._version = "ver2=flvjs 106.1", this._params = null, this._currStreamName = "", this._initStreamNamesArr = null, this._currIp = null, this._ipsArr = null, this._ipsFlag = 0, this._connectURL = null, this._root_El = null, this._parent_El = null, this._ui_El = null, this._bg_El = null, this._control_El = null, this._video_El = null, this._myVideo = null, this._myUI = null, this._player = null, this._emptySend = null, this._isphoneLive = null, this._userPlayCommond = "play", this._isOpenPageStream = !1, this._UserVolume = null, this._startFlag = null, this._testStreamName = "v98306206-193608608.flv", this._baogangData = {}, this.baogangWaitTimer = 0, this._addEmptyNum = 0, this._isEmpty = !1, this._stateCode = 0, this._emptyArr = [], this._emptyFlag = null, this._wasPrevented = !1, this._rioFailNum = 0;
                var n = this;
                this._params = t, this._playeId = t.videoId, window.J_h5player = {
                    params: t,
                    ip: null,
                    streamName: null,
                    rio: !1
                }, location.search.indexOf("playerlog") > -1 && (window.v6LogInfo = "", F, setInterval((function () {
                    var e;
                    "" != window.v6LogInfo && (e = window.v6LogInfo, console.log("sendLog"), new Promise((function (t, n) {
                        var i = {
                            type: "POST",
                            data: {
                                content: e,
                                uid: J_h5player.params.uid + "(" + J_h5player.params.ruid + ")[J_h5player]"
                            },
                            url: "https://liveinfo.6rooms.com/infolog/lmlog2",
                            success: function (e) {
                                t(e)
                            },
                            error: function (e) {
                                n(e)
                            }
                        };
                        It.ajax(i)
                    })), n.addLog("[plaerLog]> Log发送成功！"), window.v6LogInfo = "")
                }), 2e4)), this.setup(), this.startup()
            }
            var t, n, i, r, o, a;
            return t = e, (n = [{
                key: "setup",
                value: function () {
                    var e = this,
                        t = nn("#" + e._playeId);
                    e._parent_El = t.parent(), t.remove(), e._parent_El.append('<div class="h5-player" id=' + e._playeId + ' style="width:100%;height:100%;position: relative;overflow:hidden;"></div>'), nn("#" + this._playeId).html('<video style="position: absolute;top:0;left:0; autoplay:"autoplay" ></video>'), this._root_El = nn("#" + this._playeId), this._root_El.prepend('<img class="h5-video-bg"/>'), this._video_El = this._root_El.children("video"), this._myVideo = this._video_El[0], this.browser(), this._player = new Dt(this._myVideo), this._player.Events.playState = this._playEventStateHander.bind(this), this._player.Events.canplay = this._onCanPlay.bind(this), this._player.Events.netError = this._onNetError.bind(this), this._player.Events.replayed = this._replayed.bind(this), this._player.Events.onSwitchLine = this._onSwitchLine.bind(this), "audio" == e._params.mode && (this._player.buffer = 2), e._myVideo.addEventListener("timeupdate", (function () {
                        "play" == e._userPlayCommond && e.video_timeupdate_Handler()
                    })), e._emptySend = new Wt
                }
            }, {
                key: "startup",
                value: function () {
                    var e = this;
                    e.setupUI(), this._ui_El = this._root_El.children(".h5-player-ui"), this._bg_El = this._root_El.find(".h5-video-bg"), this._control_El = this._ui_El.children(".h5_video_contrl_panel"), e._params.bg && e._bg_El.attr("src", e._params.bg), this._params.streamNames && (this._initStreamNamesArr = this._params.streamNames.split(","), this._initStreamNamesArr.length >= 2 && this._control_El.find(".hvc-definition").show()), "0" == e._params.showDanmuBtn && (nn(".hvc-danmu-txt").hide(), nn(".hvc-danmu-control").hide(), nn(".hvc-recode").css({
                        "margin-left": "10px"
                    })), null != e._params.fileName && "" != e._params.fileName ? (e._isOpenPageStream = !0, e.StartLive(e._params.fileName)) : e._myUI.setliveStatus("show", "暂时没有直播"), "activity" == e._params.mode ? this._control_El.find(".hvc-contrlBg").css("background", "#444343") : "family" == e._params.mode && (this.set_family_small_videoSize(), null != e._params.fileName && "" != e._params.fileName || ("1" == e._params.hasLiveActivity ? this._myUI.setliveStatus("show", "窗口闲置") : this._myUI.setliveStatus("show", "没有直播"))), nn(window).resize((function () {
                        e.setVideoSize()
                    })), e.setVideoSize(), e.setupLogger(), this.rightMenu(), 1 == e._params.hideControlBar && this._control_El.hide()
                }
            }, {
                key: "setupUI",
                value: function () {
                    if ("homepage" == this._params.mode) {
                        var e = {
                            el: this._root_El,
                            params: this._params,
                            fixControlBar: !1
                        };
                        this._myUI = new Vt(e), this._myUI.Events.onPlay = this._onUserPlay.bind(this), this._myUI.Events.onPause = this._onUserPause.bind(this), this._myUI.Events.onVolume = this._onVolume.bind(this), this.setEnterRoomURL(this._params.toRoomUrl)
                    } else {
                        var t = {
                            el: this._root_El,
                            params: this._params,
                            fixControlBar: !1
                        };
                        "activity" == this._params.mode && (t.fixControlBar = !0), this._myUI = new Pt(t), this._myUI.Events.onPlay = this._onUserPlay.bind(this), this._myUI.Events.onPause = this._onUserPause.bind(this), this._myUI.Events.onVolume = this._onVolume.bind(this), this._myUI.Events.onDanmu = this._setDanmu.bind(this), this._myUI.Events.onRecode = this._onRecode.bind(this), this._myUI.Events.onSwitchDefinition = this._onSwitchDefinition.bind(this), this._myUI.Events.onSwitchLine = this._onSwitchLine.bind(this), this._video_El.attr("width", "100%"), this._video_El.attr("height", "100%")
                    }
                }
            }, {
                key: "_setDanmu",
                value: function (e) {
                    try {
                        window.__setDanMu(e)
                    } catch (e) {}
                }
            }, {
                key: "_onUserPlay",
                value: function () {
                    this._userPlayCommond = "play", this._player.play(), this._params.playerFun && window[this._params.playerFun]({
                        state: "play"
                    })
                }
            }, {
                key: "_onUserPause",
                value: function () {
                    this._player.pause(), this._userPlayCommond = "pause", this._params.playerFun && window[this._params.playerFun]({
                        state: "pause"
                    })
                }
            }, {
                key: "_onVolume",
                value: function (e) {
                    this._wasPrevented = !0, this._UserVolume = e || 0, this._player.setVolume(this._UserVolume)
                }
            }, {
                key: "_onRecode",
                value: function () {
                    window.open("/room/saveVideo.php?id=" + this._params.ruid + "&wip=" + this._currIp, "recodePage")
                }
            }, {
                key: "_onSwitchLine",
                value: function (e) {
                    this.switchLine()
                }
            }, {
                key: "_onSwitchDefinition",
                value: function (e) {
                    1 == e ? this._currStreamName = this._initStreamNamesArr[0] : 2 == e && (this._currStreamName = this._initStreamNamesArr[1]), this.replay()
                }
            }, {
                key: "_playEventStateHander",
                value: function (e) {
                    "play" == e ? this._myUI.ui_Play() : this._myUI.ui_Pause()
                }
            }, {
                key: "JsStartLive",
                value: (a = en(qt().mark((function e(t) {
                    var n, i, r = arguments;
                    return qt().wrap((function (e) {
                        for (;;) switch (e.prev = e.next) {
                            case 0:
                                n = r.length > 1 && void 0 !== r[1] ? r[1] : null, i = this, t != this._currStreamName && (i._userPlayCommond = "play", At("jsStartLive ==>" + i.getconnectURL), null != n ? ("1" == n._isphoneLive ? i._isphoneLive = !0 : i._isphoneLive = !1, n.bgUrl && (this._bg_El.attr("src", n.bgUrl), this._bg_El.show())) : i._isphoneLive = !1, i.StartLive(t));
                            case 3:
                            case "end":
                                return e.stop()
                        }
                    }), e, this)
                }))), function (e) {
                    return a.apply(this, arguments)
                })
            }, {
                key: "JsCloseLive",
                value: function () {
                    this._userPlayCommond = "stop", this._player.remove(), this.clearEmptyData(), this._emptySend.Clear(), window.J_h5player.streamName = null, this._myUI.setliveStatus("show", "直播已结束!"), this._currStreamName = null, At("[js] > JsCloseLive()")
                }
            }, {
                key: "remove",
                value: function () {
                    At("remove!"), this._userPlayCommond = "stop", this._player.remove(), this._root_El.remove(), this._emptySend.Clear(), this._myVideo = null, this.clearEmptyData()
                }
            }, {
                key: "hideControlBarFun",
                value: function () {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "1";
                    "1" == e ? this._control_El.hide() : "0" == e && this._control_El.show()
                }
            }, {
                key: "JS_ping",
                value: function (e) {
                    console.log("[JS_ping]" + e), 1 == e ? this._startPing() : this._stopPing()
                }
            }, {
                key: "_startPing",
                value: function () {
                    null == this._worker ? (this._worker = new Qt, this._worker.postMessage("startup"), this._worker.postMessage("start"), this._worker.onmessage = function (e) {}) : this._worker.postMessage("start")
                }
            }, {
                key: "_stopPing",
                value: function () {
                    null != this._worker && this._worker.postMessage("stop")
                }
            }, {
                key: "StartLive",
                value: (o = en(qt().mark((function e(t) {
                    var n, i, r;
                    return qt().wrap((function (e) {
                        for (;;) switch (e.prev = e.next) {
                            case 0:
                                if (t == (n = this)._currStreamName) {
                                    e.next = 9;
                                    break
                                }
                                return this._currStreamName = t, n.addLog("[rio]> loading..."), i = (new Date).getTime(), e.next = 7, this.request_rio();
                            case 7:
                                r = (new Date).getTime() - i, n.addLog("[rio]> finish!（" + r / 1e3 + "秒完成)");
                            case 9:
                                window.J_h5player.streamName = t, this._currStreamName = t, window.J_h5player.ip = n._currIp, n.addLog("[play]> " + n.getconnectURL), n._player.startlive(n.getconnectURL), setTimeout((function () {
                                    0 == n._has_LoadData && n._myUI.setliveStatus("show", "主播马上回来 ...")
                                }), 2e3), 1 == n._isOpenPageStream && (n._isOpenPageStream = !1, setTimeout((function () {
                                    n._baogangLoaded || n.baogangTest()
                                }), 3e3));
                            case 16:
                            case "end":
                                return e.stop()
                        }
                    }), e, this)
                }))), function (e) {
                    return o.apply(this, arguments)
                })
            }, {
                key: "_baogangGetStream",
                value: function (e, t) {
                    return new Promise((function (n, i) {
                        var r = 0,
                            o = Date.now(),
                            a = new XMLHttpRequest;
                        a.crossorigin = "", a.open("GET", e, !0), a.onprogress = function () {
                            clearTimeout(r), n(["progress", a.status, o]), a.abort()
                        }, a.onload = function () {
                            clearTimeout(r), n(["loaded", a.status, o]), a.abort()
                        }, a.onerror = function () {
                            clearTimeout(r), n(["error", a.status, o]), a.abort()
                        }, a.send(), r = setTimeout((function () {
                            i(a.readyState), a.abort()
                        }), 1e3 * t)
                    }))
                }
            }, {
                key: "_baogangTestStreamSrc",
                value: function () {
                    return "hls" == this._player.TYPE ? "https://" + this._currIp + "/" + this._testStreamName + "/playlist.m3u8" : "https://" + this._currIp + /httpflv/ + this._testStreamName
                }
            }, {
                key: "baogangReport",
                value: function () {
                    this.baogangWait(!1);
                    var e = [];
                    for (var t in this._baogangData) e.push(t + "=" + encodeURIComponent(this._baogangData[t]));
                    (new Image).src = "https://liveinfo.6rooms.com/client/streamcheckinfo?" + e.join("&")
                }
            }, {
                key: "baogangWait",
                value: function (e) {
                    clearInterval(this.baogangWaitTimer);
                    var t = this;
                    if (e) {
                        var n = 22;
                        t.baogangWaitTimer = setInterval((function () {
                            n < 1 || !this._baogangLoaded ? t.baogangWait(!1) : (t._myUI.setliveStatus("show", "主播马上回来 " + n + "s"), n--)
                        }), 1e3)
                    } else t._baogangLoaded || t._myUI.setliveStatus("show", "主播马上回来 ...")
                }
            }, {
                key: "baogangTest",
                value: function () {
                    var e = this;
                    this._baogangData = {
                        uid: this._params.uid,
                        node: this._currIp,
                        stream_r: this._currStreamName
                    };
                    var t = this,
                        n = this.getconnectURL + ".flv",
                        i = this._baogangTestStreamSrc();
                    this._baogangGetStream(n, 3).then((function (e) {
                        var n = Jt(e, 3),
                            i = (n[0], n[1]),
                            r = n[2];
                        t._baogangData.rcode_r = i, t._baogangData.time_r = Date.now() - r, t.baogangReport()
                    })).catch((function (n) {
                        t.baogangWait(!0), t._baogangData.rcode_r = "-1", t._baogangData.time_r = -1, e._baogangData.stream_t = e._testStreamName, e._baogangGetStream(i, 30).then((function (e) {
                            var n = Jt(e, 3),
                                i = (n[0], n[1]),
                                r = n[2];
                            t._baogangData.rcode_t = i, t._baogangData.time_t = Date.now() - r, t.baogangReport()
                        })).catch((function (e) {
                            t._baogangData.rcode_t = "-1", t._baogangData.time_t = -1, t.baogangReport()
                        }))
                    }))
                }
            }, {
                key: "switchLine",
                value: function () {
                    this._ipsArr.length > 0 && (this._ipsFlag++, this._ipsFlag >= this._ipsArr.length && (this._ipsFlag = 0), this._currIp = this._ipsArr[this._ipsFlag]), window.J_h5player.ip = this._currIp, this.addLog("[play]> " + this.getconnectURL), this._player.startlive(this.getconnectURL)
                }
            }, {
                key: "clearEmptyData",
                value: function () {
                    this._addEmptyNum = 0, this._isEmpty = !1, this._stateCode = 0, this._emptyArr = [], clearTimeout(this._emptyFlag)
                }
            }, {
                key: "video_timeupdate_Handler",
                value: function (e) {
                    var t = this,
                        n = t._myVideo;
                    if (this._stateCode != n.readyState) switch (this._stateCode = n.readyState, n.readyState) {
                        case 0:
                        case 1:
                            break;
                        case 2:
                            t.addLog("[i]> empty"), At("[i]> empty"), this._isEmpty = !0;
                            var i = (new Date).getTime();
                            if (this._emptyArr.push({
                                    empty: i,
                                    full: null
                                }), this._emptyArr.length >= 3 && this._emptyArr[this._emptyArr.length - 1].empty - this._emptyArr[0].empty > 18e4) return At("switchLine(180|3)"), void t.switchLine();
                            if (this._emptyArr.length > 1) {
                                for (var r = 0; r < this._emptyArr.length; r++) null != this._emptyArr[r].full && (this._addEmptyNum = this._addEmptyNum + (this._emptyArr[r].full - this._emptyArr[r].empty));
                                var o = (new Date).getTime();
                                this._addEmptyNum > 6e3 && o - this._emptyArr[0].empty < 3e4 && (At("switchLine(30|6)"), t.switchLine())
                            }
                            clearTimeout(t._emptyFlag), t._emptyFlag = setTimeout((function () {
                                At("switchLine(10s)"), t.switchLine()
                            }), 1e4), t._emptySend.Empty();
                            break;
                        case 4:
                            if (clearTimeout(t._emptyFlag), At("[i]> full"), 1 == this._isEmpty) {
                                var a = (new Date).getTime();
                                this._emptyArr[this._emptyArr.length - 1].full = a, t._emptySend.Full(), t.addLog("[i]> full(" + (a - this._emptyArr[this._emptyArr.length - 1].empty).toFixed(2) / 1e3 + "s)")
                            }
                    }
                }
            }, {
                key: "_replayed",
                value: function () {
                    this._bg_El.show(), this._emptySend.Full()
                }
            }, {
                key: "_playh264",
                value: function (e) {
                    console.log("播放h2222222222264", this)
                }
            }, {
                key: "_onCanPlay",
                value: function (e) {
                    this._wasPrevented = e, e ? (At("[浏览器] > 自动播放已开始!"), null == this._UserVolume && (1 == this._params.mute ? this._player.setVolume(0) : this._player.setVolume(.99))) : (At("[浏览器] > 自动播放被浏览器阻止！"), this._params.mutedFun && window[this._params.mutedFun](), "homepage" != this._params.mode && 1 != this._params.hideControlBar && this._myUI.setMuted_panel(), this._myUI.setVolume_ui(0)), "pause" == this._userPlayCommond && this._player.pause(), this.setVideoSize(), this._myUI.setliveStatus("hide"), this.clearEmptyData(), this._baogangLoaded = !0
                }
            }, {
                key: "_onNetError",
                value: function () {
                    this._myUI.setliveStatus("show", "主播马上回来 . . ."), "homepage" == this._params.mode && this.callJS_playBreak(), this._params.playerFun && window[this._params.playerFun]({
                        state: "break"
                    })
                }
            }, {
                key: "callJS_playBreak",
                value: function () {
                    var e = this;
                    this._params.stopFun && window[e._params.stopFun] && setTimeout((function () {
                        window[e._params.stopFun]()
                    }), 1e3)
                }
            }, {
                key: "setEnterRoomURL",
                value: function (e, t, n) {
                    this._root_El.find(".hvc-middleEnter-button").attr("href", e), this._root_El.find(".hvc-enterRoom-button").attr("href", e), t && this._root_El.find(".hvc-middleEnter-button").attr("data-tracing", t), n && (this._root_El.find(".hvc-middleEnter-button").attr("data-stat", n), this._root_El.find(".hvc-middleEnter-button").attr("data-uid", n.split("|")[0]), this._root_El.find(".hvc-middleEnter-button").attr("data-liveid", n.split("|")[1]), this._root_El.find(".hvc-middleEnter-button").attr("data-recsrc", n.split("|")[2]))
                }
            }, {
                key: "videoPause",
                value: function () {
                    if (this._onUserPause(), "homepage" == this._params.mode) {
                        var e = this._ui_El.find(".hvc-middleEnter-button");
                        this._ui_El.find(".hvc-middlePlay-button").show(), e.hide()
                    }
                }
            }, {
                key: "videoPlay",
                value: function () {
                    this._onUserPlay()
                }
            }, {
                key: "set_homepage_videoSize",
                value: function () {
                    var e = this._myVideo;
                    e.width = this._parent_El.width(), e.height = e.videoHeight / e.videoWidth * e.width;
                    var t = this._parent_El.height() / 2 - e.height / 2;
                    this._video_El.css("top", t), e.width < 500 && this._ui_El.find(".hvc-middle-panel").css({
                        transform: "scale(0.65)"
                    })
                }
            }, {
                key: "set_widthVideoSize",
                value: function () {
                    var e = this._myVideo;
                    e.width = this._parent_El.width(), e.height = e.videoHeight / e.videoWidth * e.width;
                    var t = this._parent_El.height() / 2 - e.height / 2;
                    this._video_El.css("top", t), e.width < 500 && this._ui_El.find(".hvc-middle-panel").css({
                        transform: "scale(0.65)"
                    })
                }
            }, {
                key: "set_activity_videoSize",
                value: function () {
                    var e = this._myVideo;
                    At("activity - parent-height" + this._parent_El.height()), e.height = this._parent_El.height() - 38
                }
            }, {
                key: "setSound",
                value: function (e) {
                    At("js--\x3e setSound=" + e), 0 == e ? this._onVolume(0) : this._onVolume(1)
                }
            }, {
                key: "liveWait",
                value: function () {
                    this.JsCloseLive(), this._myUI.setliveStatus("show", "窗口闲置")
                }
            }, {
                key: "receive_volume",
                value: function () {}
            }, {
                key: "set_family_small_videoSize",
                value: function () {
                    this._parent_El.width() < 320 && (this._ui_El.find(".hvc-muted-panel").css({
                        transform: "scale(0.5)"
                    }), this._control_El.find(".hvc-muted-tag").remove(), this._control_El.find(".hvc-play").remove(), this._control_El.find(".hvc-pause").remove(), this._control_El.find(".hvc-right").remove(), this._control_El.find(".hvc-voice").css({
                        top: "-6px",
                        left: "0px"
                    }), this._control_El.find(".hvc-volume").css({
                        top: "8px",
                        left: "30px"
                    }), this._control_El.css({
                        height: "20px"
                    }))
                }
            }, {
                key: "PageClicked",
                value: function () {
                    this._myUI.setVolume(99), this._myUI.removeMute_panel()
                }
            }, {
                key: "setVideoSize",
                value: function () {
                    "homepage" == this._params.mode ? this.set_homepage_videoSize() : "activity" == this._params.mode ? this.set_activity_videoSize() : "family" == this._params.mode && this.set_family_small_videoSize(), this._isphoneLive && (this._video_El.attr("width", "100%"), this._video_El.attr("height", "100%")), this._bg_El.attr("width", "100%"), this._bg_El.attr("height", "100%")
                }
            }, {
                key: "getconnectURL",
                get: function () {
                    return "hls" == this._player.TYPE ? this._connectURL = "https://" + this._currIp + "/" + this._currStreamName + "/playlist.m3u8" : this._connectURL = "https://" + this._currIp + /httpflv/ + this._currStreamName, this._connectURL
                }
            }, {
                key: "request_rio",
                value: (r = en(qt().mark((function e() {
                    var t, n, i, r;
                    return qt().wrap((function (e) {
                        for (;;) switch (e.prev = e.next) {
                            case 0:
                                return (t = this)._startLoadTime = (new Date).getTime(), n = this._currStreamName.indexOf("-"), i = this._currStreamName.substring(1, n), At("rio --\x3e" + (r = "https://rio.6rooms.com/live/?s=" + i)), e.abrupt("return", new Promise((function (e, n) {
                                    var i = {
                                        url: r,
                                        dataType: "XML",
                                        success: function (n, i, r) {
                                            t._rioFailNum = 0, window.J_h5player.rio = !0, t._ipsArr = new Array;
                                            var o = nn(n).find("watchip").text(),
                                                a = Jt(o.split(":"), 2),
                                                s = a[0];
                                            a[1], t._currIp = s, t._ipsArr[0] = s;
                                            var u = nn(n).find("morewatchip>ip").text(),
                                                c = Jt(u.split(":"), 2),
                                                l = c[0];
                                            c[1], t._ipsArr[1] = l, t._ipsArr.length >= 2 && nn(".hvc-lines").show(), At("rio--\x3eok!   watchip: " + o + " | morewatchip=" + u);
                                            var h = (new Date).getTime() - t._startLoadTime;
                                            "hidden" != document.visibilityState && t.sendRioStatistics(1, h), e({
                                                flag: 1,
                                                content: n
                                            })
                                        },
                                        beforeSend: function () {
                                            t._startLoadTime = (new Date).getTime()
                                        },
                                        error: function () {
                                            var e = (new Date).getTime() - t._startLoadTime;
                                            "hidden" != document.visibilityState && t.sendRioStatistics(0, e), setTimeout((function () {
                                                t._rioFailNum++, t._startLoadTime = (new Date).getTime(), nn.ajax(i)
                                            }), 1e3)
                                        }
                                    };
                                    t._startLoadTime = (new Date).getTime(), nn.ajax(i)
                                })));
                            case 7:
                            case "end":
                                return e.stop()
                        }
                    }), e, this)
                }))), function () {
                    return r.apply(this, arguments)
                })
            }, {
                key: "sendRioStatistics",
                value: function (e, t) {
                    var n = {
                        url: "https://liveinfo.6rooms.com/infolog/riolog",
                        type: "GET",
                        data: {
                            flag: e,
                            seq: this._rioFailNum,
                            duration: t
                        },
                        success: function (e, t, n) {},
                        error: function () {}
                    };
                    nn.ajax(n)
                }
            }, {
                key: "setupLogger",
                value: function () {
                    var e = this._ui_El.find(".loggerclose"),
                        t = this._ui_El.find(".h5-logger");
                    e.click((function () {
                        t.hide()
                    })), location.search.indexOf("playerlog") > -1 && (this.addLog("[plaerLog]> 正在收集错误信息..."), this.addLog("chrome://media-internals/"), t.show())
                }
            }, {
                key: "showLogger",
                value: function () {
                    var e = this._ui_El.find(".h5-logger");
                    "none" == e.css("display") ? e.show() : e.hide()
                }
            }, {
                key: "addLog",
                value: function (e) {
                    this._ui_El.find(".h5-logger");
                    var t = this._ui_El.find(".h5-logger-connect");
                    t.length > 0 && (t.append("<p>" + e + "</p>"), t.scrollTop(t[0].scrollHeight))
                }
            }, {
                key: "browser",
                value: function () {
                    var e, t = {},
                        n = {},
                        i = navigator.userAgent.toLowerCase();
                    return (e = i.match(/edge\/([\d.]+)/)) ? n.edge = e[1] : (e = i.match(/rv:([\d.]+)\) like gecko/)) || (e = i.match(/msie ([\d.]+)/)) ? n.ie = e[1] : (e = i.match(/firefox\/([\d.]+)/)) ? n.firefox = e[1] : (e = i.match(/chrome\/([\d.]+)/)) ? n.chrome = e[1] : (e = i.match(/opera.([\d.]+)/)) ? n.opera = e[1] : (e = i.match(/version\/([\d.]+).*safari/)) && (n.safari = e[1]), n.edge && (t = {
                        name: "edge",
                        version: n.edge
                    }), n.ie && (t = {
                        name: "ie",
                        version: n.ie
                    }), n.firefox && (t = {
                        name: "firefox",
                        version: n.firefox
                    }), n.chrome && (t = {
                        name: "chrome",
                        version: n.chrome
                    }), n.opera && (t = {
                        name: "opera",
                        version: n.opera
                    }), n.safari && (t = {
                        name: "safari",
                        version: n.safari
                    }), t.version = parseFloat(t.version), t
                }
            }, {
                key: "rightMenu",
                value: function () {
                    var e = this;
                    nn("div.hvc-contextMenu").hide(), nn("#hvc-version").html(this._version), this._root_El.contextMenu("hvc-myMenu1", {
                        bindings: {
                            "hvc-h5player": function (e) {
                                At("h5player")
                            },
                            "hvc-version": function (t) {
                                At("log"), e.showLogger()
                            },
                            "hvc-toFlash": function (t) {
                                At("toFlash"), e.remove(), window[e._params.switchFun]("flash")
                            }
                        }
                    })
                }
            }]) && tn(t.prototype, n), i && tn(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
            }), e
        }();
        t.default = rn
    }]).default
}));